3

根据 Mac Dock文档:“Dock 将应用程序保留在左侧,而堆栈和最小化窗口保留在右侧。如果仔细观察,您会看到将它们分开的垂直分隔线。”

这意味着,一旦应用程序被最小化,右侧就会出现一个新的停靠图标,您需要单击它才能最大化您的应用程序。

但是,Chrome 和 Finder 等应用程序的行为不同:如果您单击左侧图标(“主”应用程序的图标),它也会最大化应用程序!

我已经创建了自己的 mac 应用程序,我想让它的行为类似于 Chrome:这意味着一旦它被最小化,如果您单击左侧或右侧的停靠图标,它将最大化。我怎样才能以编程方式做到这一点?

[我附上码头截图。您可以在其旁边看到 Chrome 的“主”图标和“最小化”图标。两个图标都会响应并将窗口最大化。附加 然而其他应用程序(如 TextEdit,以及我在 XCode 中编程的那个):只有最小化的图标才能最大化它们。“主”图标什么都不做。]

如何使两个图标以编程方式最大化我的应用程序?

太感谢了!

尼力

4

2 回答 2

2

需要实现 applicationShouldHandleReopen 以便从“主”图标打开最小化窗口

- (BOOL)applicationShouldHandleReopen:(NSApplication *) __unused theApplication hasVisibleWindows:(BOOL)flag
{
    if (!flag){
        [[self window] makeKeyAndOrderFront:self];
    }
    return YES;
}
于 2013-09-22T11:46:48.240 回答
0

单击 Dock 图标调用:

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

在此消息处理程序中重新打开您的窗口。

它被发送到应用程序代表并且是NSApplicationDelegate协议的一部分。

于 2013-09-22T10:10:30.437 回答