禁用NSWindow交互

时间:2017-05-28 11:14:37

标签: objective-c swift macos cocoa

我正在尝试使用NSAlert开发自定义NSWindow。当从主应用程序窗口触发自定义警报NSWindow时,用户仍然能够与主窗口交互并在警报窗口仍处于活动状态时访问菜单栏。我相信当呈现NSAlert时,这些动作被禁用,并且在尝试与主窗口交互时播放“Funk”声音。

在用户对警报窗口采取行动之前,如何禁用与主窗口的交互(并可能播放'Funk'声音)?

1 个答案:

答案 0 :(得分:1)

将自定义窗口作为“模态”窗口运行。最简单的方法是使用runModal(for:)的{​​{1}}方法。应完成或取消模态对话框的操作应调用NSApplicationstopModal()