如何创建自定义模态NSWindow?

5
我想创建一个自定义的NSWindow,它作为模态对话框。所谓自定义是指该窗口具有普通用户控件,包括“确定”和“取消”按钮。对话框将包含只读信息,并带有一些复选框、安全编辑字段等。
MainMenu.xib文件将在启动时显示普通窗口,并包括自定义的NSWindow(在启动时不可见)。
我正在尝试寻找示例代码,以模态方式启动窗口(在应用程序初始化并启动主窗口后),并在“确定”后运行一个流程,在该流程成功后隐藏对话框。或者在失败时保持对话框打开,但在对话框上显示错误表格。
感谢任何帮助。

在这里回答:https://dev59.com/kV3Va4cB1Zd3GeqPCaa- - cSquirrel
2个回答

4
你需要查看NSApplication-runModalForWindow:和/或-runModalSession:方法。请注意,使用模态窗口通常不是一个好主意,如果有可能避免这样做,就应该避免;尽管如此,有时候必须这么做。
至于启动进程、等待进程完成等方面,你可能可以使用NSTask来完成所需操作,尽管你没有提供足够的细节以确保这一点。你可能想观察NSTaskDidTerminateNotification,以告诉你何时任务已完成。
请参见

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/OperatingSystem/OperatingSystem.html

了解更多关于NSTask

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/WinPanel/Concepts/UsingModalWindows.html%23//apple_ref/doc/uid/20000223-CJBEADBA

有关模态NSWindow使用的更多内容。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接