mic*_*mic 10 macos xcode swift xcode6
我试图NSViewController通过故事板segue(OSX)来展示.打开窗口将是检查器窗口,因此它应该是非模态的.
当我通过Ctrl键从触发按钮拖动到窗口控制器创建一个动作segue时,我提供了以下segue样式选项:
前三个选项显然不合适.
我确信我可以创建一个自定义segue来显示视图.这将涉及创建一个类,实现一些方法等.
但是,由于我的要求对我来说似乎很基础,我想知道我是否遗漏了一些明显的东西,一种通过画布打开非模态窗口的简单方法.
我正在使用XCode6-Beta3.
Elm*_*Cat 13
至少现在(Beta3),非模态视图需要有自己的窗口,并没有简单的方法为它创建一个segue.
而是将新的Window Controller对象拖到Storyboard上.它将带有自己的内容视图作为关系Segue.但是,如果您要为窗口使用不同的视图(例如:选项卡视图控制器),只需删除新的视图控制器并从新的窗口控制器控制拖动到视图控制器,该视图控制器的视图要用于窗口内容.
要点:在Storyboard中选择Window Controller对象,并在Identity Inspector中,将Storyboard ID设置为将标识窗口的字符串(例如:"Inspector").
然后,只需编写一些代码来显示窗口:
var inspectorController: NSWindowController?
@IBAction func showInspector(sender : AnyObject) {
if !inspectorController {
let storyboard = NSStoryboard(name: "Main", bundle: nil)
inspectorController = storyboard.instantiateControllerWithIdentifier
("Inspector") as? NSWindowController
}
if inspectorController { inspectorController!.showWindow(sender) }
}
Run Code Online (Sandbox Code Playgroud)
我实际上发现最好不要将主故事板用于任何窗口.其中一个原因是因为使用Storyboard(至少现在),在应用程序启动时无法拦截初始segue,并且永远不会在主窗口控制器上调用windowWillLoad.
相反,为Application和/或Document窗口创建单独的故事板,并使用AppDelegate类来实例化它们.更多信息和该线程中的工作示例.
| 归档时间: |
|
| 查看次数: |
8197 次 |
| 最近记录: |