【问题标题】:How do I create a custom modal NSWindow?如何创建自定义模式 NSWindow?
【发布时间】:2011-04-15 14:12:02
【问题描述】:

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

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

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

感谢任何帮助,谢谢。

【问题讨论】:

标签: cocoa


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    看看 NSApplication 的 -runModalForWindow: 方法和“Using Application-Modal Dialogs”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-10
      • 1970-01-01
      • 2011-02-05
      • 2018-08-28
      • 2017-01-10
      • 1970-01-01
      相关资源
      最近更新 更多