当点击时,你如何让Dock图标显示一个窗口?

时间:2009-06-07 18:27:47

标签: objective-c cocoa

我希望Dock图标在关闭后使用方法makekeyandorderfront打开主窗口。我用一个按钮打开一个窗口,但我不知道如何使用Dock图标,因为你无法在界面构建器中建立它。

2 个答案:

答案 0 :(得分:15)

NSApplication的委托中有一个委托方法:

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag;

可用于处理停靠栏中应用图标的点击次数。请参阅its documentation

答案 1 :(得分:6)

还有另一种方法可以解决这个问题:

通过单击停靠栏尝试重新打开应用程序窗口,您可以告诉应用程序在最后一个窗口关闭时终止。这样,当没有窗口打开时,您将不会显示活动的停靠图标。

将此delagate方法放入您的app delegate

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication {
    return YES;
}

您选择哪种方法取决于您和您的应用。我更喜欢将此方法用于非基于文档的应用程序,因为当关闭它的唯一窗口时,让应用程序运行是没有意义的。