首页 > 编程语言 > 详细

Swift-打开其它Storyboard中的自定义模态窗口

时间:2015-12-10 13:11:42      阅读:243      评论:0      收藏:0      [点我收藏+]

本文的方法针对OS X应用开发。

如果想在某个ViewController中,用模态窗口的方式,打开某个Storyboard中定义的WindowController。可用以下方式。

let story = NSStoryboard(name: "DebugStoryboard", bundle: nil)

let ctl = story.instantiateInitialController() as! NSWindowController

NSApp.runModalForWindow(ctl.window!)


其中,DebugStoryboard是Storyboard对应的文件名。

这种方式,需要在模态窗口关闭时,解除模态状态,否则,程序会假死,不能响应任何的点击动作。

要解除Modal状态,自定义窗口的contentViewController需要继承NSWindowDelegate协议,然后在viewDidDisappear()方法中加入NSApp.stopModal()这一句。

class DebugViewController: NSTabViewController,NSWindowDelegate {


override func viewDidLoad() {

super.viewDidLoad()

// Do view setup here.

}

  

override func viewDidDisappear() {

//窗口关闭时,解绑Modal状态,否则APP假死

NSApp.stopModal()

  

}

  

}

Swift-打开其它Storyboard中的自定义模态窗口

原文:http://www.cnblogs.com/tt2015-sz/p/5035463.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!