如何正确显示MacOS中的xib文件的模态视图?

问题描述 投票:1回答:1

操作系统: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

swift macos modal-dialog xib
1个回答
1
投票

您必须在Visible At Launch中删除窗口对象的属性检查器中的SimpleModal.xib标志。否则您的代码有效。

© www.soinside.com 2019 - 2024. All rights reserved.