当我从 Xcode 启动我的 OS X 应用程序时,它应该会出现。
当我关闭窗口时,它会消失(如您所料),并且该应用程序在 Dock 上仍然处于活动状态。
太好了,应该是这样的。但是当我单击停靠栏以激活窗口时,它不会显示。
有任何想法吗?
当我从 Xcode 启动我的 OS X 应用程序时,它应该会出现。
当我关闭窗口时,它会消失(如您所料),并且该应用程序在 Dock 上仍然处于活动状态。
太好了,应该是这样的。但是当我单击停靠栏以激活窗口时,它不会显示。
有任何想法吗?
问题中没有太多信息,但让我假设该应用程序是单窗口应用程序(即,不NSDocument
基于 -)。
这种情况下的一个典型情况是用户关闭了窗口,而应用程序继续使用 Dock 中的图标按预期运行。
在这种情况下,用户通常希望通过单击 Dock 中的图标激活应用程序时重新出现该窗口。
要获得它,您可以applicationShouldHandleReopen:hasVisibleWindows:
按如下方式实现:
- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)visibleWindows
{
if ( visibleWindows ) {
[self.window orderFront:self];
}
else {
[self.window makeKeyAndOrderFront:self];
}
return YES;
}
快速:
func applicationShouldHandleReopen(sender: NSApplication, hasVisibleWindows flag: Bool) -> Bool {
if let window = sender.windows.first {
if flag {
window.orderFront(nil)
} else {
window.makeKeyAndOrderFront(nil)
}
}
return true
}