显示Cocoa应用程序再次单击应用程序图标的首选项

the*_*kid 4 macos cocoa

对于后台应用程序(LSUIElement = 1),如果用户在已经运行的情况下双击应用程序图标,那么弹出"首选项"或"配置"窗口的最优雅方式是什么?

这假设用户无法从其他任何位置访问应用程序的首选项(例如菜单栏状态项菜单).

我认为理想的方法会阻止prefs窗口在初始启动时显示,但是足够聪明,可以在随后双击应用程序的图标时显示它.

谢谢

Yuj*_*uji 6

您只需要实现NSApplicationDelegate协议方法applicationShouldHandleReopen:hasVisibleWindows:.

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag
{
     // open pref pane
     return NO;
}
Run Code Online (Sandbox Code Playgroud)

就够了; 只有在重新打开应用程序时才会调用此委托方法.