Mon*_*olo 22
问题中没有太多信息,但让我假设该应用程序是一个单窗口应用程序(即,不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;
}
Run Code Online (Sandbox Code Playgroud)
对于swift:
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
}
Run Code Online (Sandbox Code Playgroud)