cocoa - 如何创建自定义模式 NSWindow?

标签 cocoa

我想创建一个充当模式对话框的自定义 NSWindow。我所说的自定义是指它在窗口中有正常的用户控件,带有“确定”和“取消”按钮。该对话框将包含只读信息,并有一些复选框、安全编辑字段等。

MainMenu.xib 文件将具有在启动时可见的普通窗口,并包含自定义 NSWindow(在启动时不可见)。

我正在尝试查找示例代码以模式模式启动窗口(在应用程序初始化并启动主窗口之后),然后在“确定”时运行一个进程,并在该进程成功时隐藏对话框。或者在失败时,保持对话框打开,但在对话框上显示错误表。

感谢任何帮助,谢谢。

最佳答案

您想要查看 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 使用的更多信息。

关于cocoa - 如何创建自定义模式 NSWindow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5678030/

相关文章:

objective-c - NSView 下的模糊背景

cocoa - Apple mail.app 的 API?不公开?

swift - 如何在 OS X 中通过字符串查询搜索文件/文件夹?

xml - Soap xml 响应使用 xsd 文件进行验证

cocoa - Qt 中的 Mac HUD 窗口

objective-c - "if"条件不起作用

objective-c - 以编程方式使用 BWToolkit

cocoa - 通过弹出窗口启用辅助设备的访问

objective-c - 在类之间传递数据

objective-c - 屏幕截图到剪贴板可以在 Cocoa 中使用,但不能保存到文件或新邮件消息中