再次单击应用程序图标时显示 Cocoa 应用程序的首选项
Posted
技术标签:
【中文标题】再次单击应用程序图标时显示 Cocoa 应用程序的首选项【英文标题】:Showing Cocoa app's preferences on clicking app icon again 【发布时间】:2010-09-23 22:14:44 【问题描述】:对于后台应用程序 (LSUIElement=1),如果用户在应用程序图标已在运行时双击它,那么让其“首选项”或“配置”窗口弹出的最优雅的方法是什么?
这是假设用户无法从其他任何地方(例如菜单栏状态项菜单)访问应用的首选项。
我认为理想的方法会阻止首选项窗口在初始启动时显示,但足够聪明,可以在随后双击应用程序图标时显示它。
谢谢
【问题讨论】:
【参考方案1】:你只需要实现一个NSApplicationDelegate
协议方法applicationShouldHandleReopen:hasVisibleWindows:
。
- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag
// open pref pane
return NO;
就足够了;只有在重新打开应用时才会调用此委托方法。
【讨论】:
现在太明显了!我浏览了 NSApplicationDelegate 协议,完全错过了这个协议。那是为了在凌晨 2 点以后编码 :)以上是关于再次单击应用程序图标时显示 Cocoa 应用程序的首选项的主要内容,如果未能解决你的问题,请参考以下文章
UISearchBar 在搜索没有结果时显示标签,但在单击 UISearchBar 中的 x 时不会再次隐藏标签