【发布时间】:2009-06-07 18:27:46
【问题描述】:
我希望 Dock 图标在关闭后使用 makekeyandorderfront 方法打开主窗口。我已经通过一个按钮打开一个窗口来完成此操作,但我不知道如何使用 Dock 图标来完成此操作,因为您无法在界面构建器中建立与它的连接。
【问题讨论】:
标签: objective-c cocoa
我希望 Dock 图标在关闭后使用 makekeyandorderfront 方法打开主窗口。我已经通过一个按钮打开一个窗口来完成此操作,但我不知道如何使用 Dock 图标来完成此操作,因为您无法在界面构建器中建立与它的连接。
【问题讨论】:
标签: objective-c cocoa
NSApplication的delegate中有一个delegate方法:
- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag;
您可以使用它来处理对 Dock 中应用程序图标的点击。见its documentation。
【讨论】:
还有另一种处理方式:
您可以告诉应用程序在最后一个窗口关闭时终止,而不是尝试通过单击停靠栏来重新打开应用程序窗口。这样,当没有打开窗口时,您就不会显示活动的停靠图标。
将此 delagate 方法放入您的应用委托中
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication {
return YES;
}
不过,您选择哪种方法取决于您和您的应用。我更喜欢将此方法用于非基于文档的应用程序,因为当您的应用程序的唯一窗口关闭时运行它是没有意义的。
【讨论】: