- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 swift 项目,我在其中根据连接到 PC 的设备数量以编程方式制作按钮(简而言之)。所有这些设备都将获得自己的指定 View ,用户可以在其中调整此设备的设置。
到目前为止,我已经设法完成的是以编程方式放置按钮,并以编程方式为每个设备创建 View :
func createView() {
let frame : NSRect = NSMakeRect(32, 32, 200, 200)
let view : NSView = NSView(frame: frame)
view.wantsLayer = true
view.layer?.backgroundColor = NSColor.red.cgColor
self.view = view
}
现在,我所做的是当一个按钮被按下时,对应于该按钮的 View :
@objc private func switchToView(sender : OpenDeviceButton) {
let device : Device = sender.device!
self.view.window?.contentView = device.view
}
然而,我打算做的是,我不会改变一切,而是只改变一小部分。所以,我想到的是使用 ContainerView
并切换出嵌入的内容,但是,我在 Apple 文档中找不到任何可以帮助我的东西。
有没有办法用另一个 NSView
交换容器 View 的内容?
谢谢。
最佳答案
您可以像这样手动替换 subview :
let oldView = self.view.window?.contentView!.subviews[0]
let frame = oldView.frame
oldView.removeFromSuperview()
device.view.frame = frame
self.view.window?.contentView!.addSubview(device.view)
关于swift - 切换出嵌入在 NSContainerView 中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43585178/
我有一个 swift 项目,我在其中根据连接到 PC 的设备数量以编程方式制作按钮(简而言之)。所有这些设备都将获得自己的指定 View ,用户可以在其中调整此设备的设置。 到目前为止,我已经设法完成
我有一个 Storyboard设置,主视图有一堆按钮和一个容器 View ,我希望每次按下其中一个按钮时将不同的 View 加载到该容器 View 中,有点像选项卡 View Controller 可
我正在尝试将 Xcode 6 Storyboard 中的两个不同的 View Controller 与 NSContainerView 链接起来,以便可以有条件地切换它们。不幸的是这个教程here没有
我有一个 Storyboard设置,主视图有一堆按钮和一个容器 View ,我希望每次按下其中一个按钮时都会将不同的 View 加载到该容器 View 中,有点像选项卡 View Controller
我是一名优秀的程序员,十分优秀!