操作系统:MacOS语言:Swift 4+
我想要的是
我想从主窗口显示一个简单的自定义模态视图。我在一个单独的.xib文件中创建的自定义模态视图与属于NSWindowController类。
在Xcode中我添加了一个新文件 - > CocoaClass - > NSWindowController的子类 - >选中标记“还为用户界面创建XIB文件”
我添加了一个按钮并生成了一个动作处理程序,它只是在调试控制台上打印文本。这是为了测试按钮按压是否正确处理。
要在我的主窗口中显示模态视图,我按下按钮时会执行以下代码:
let modal = SimpleModal(windowNibName: "SimpleModal")
self.view.window?.beginSheet(modal.window!, completionHandler: { response in
print("Finished device selection")
})
这确实显示了视图,但不是模态视图。它只是显示我的主窗口旁边的视图,当我单击模态视图中的按钮时,模态视图也不会对鼠标单击事件做出反应。
我不知道如何做到这一点,所以如果你知道怎么做,请回答我。
注意:
当模态视图显示时,主窗口应该无响应,直到用户关闭模态视图。这就像将焦点从主窗口移动到模态视图一样。
我的演示项目的来源:OSXModalView
您必须在Visible At Launch
中删除窗口对象的属性检查器中的SimpleModal.xib
标志。否则您的代码有效。