![](/img/trans.png)
[英]Closing Mac application (clicking red cross on top) and reopening by clicking dock icon
[英]Mac OS X Dock: How to programmatically maximize my application with the application's main icon, and not the minimized icon?
根据Mac Dock 文档 :“Dock将应用程序保留在其左侧,而Stacks和最小化的窗口保持在其右侧。如果仔细观察,您将看到一条垂直分隔线将它们分开。”
这意味着,一旦应用程序最小化,您在右侧有一个新的停靠图标,您需要单击它以最大化您的应用程序。
但是,Chrome和Finder等应用程序的行为有所不同:如果单击LEFT图标(“主”应用程序的图标),它也将最大化应用程序!
我已经创建了自己的mac应用程序,我想让它像Chrome一样:意味着一旦它被最小化,如果你点击左侧或右侧的停靠栏图标,它将最大化。 我该如何以编程方式执行此操作?
[我附加了一个码头截图。 您可以在旁边看到Chrome“主”图标和“最小化”图标。 两个图标都会响应并最大化窗口。 然而,其他应用程序(如TextEdit,以及我在XCode中编程的应用程序):只有最小化的图标才能最大化它们。 “主要”图标什么都不做。]
如何使两个图标以编程方式最大化我的应用程序?
太感谢了!
尼莉
需要实现applicationShouldHandleReopen才能从“main”图标打开最小化的窗口
- (BOOL)applicationShouldHandleReopen:(NSApplication *) __unused theApplication hasVisibleWindows:(BOOL)flag
{
if (!flag){
[[self window] makeKeyAndOrderFront:self];
}
return YES;
}
单击Dock图标调用:
- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag
在此消息处理程序中重新打开您的窗口。
它被发送到Application Delegate并且是NSApplicationDelegate
协议的一部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.