我知道可以使 NSWindow 不可隐藏。
但是是否也有可能,是否有一个属性来告诉编译器使整个应用程序不可隐藏?
对于单个窗口,您-[NSWindow setCanHide:]
可以控制它是否可以隐藏。
如果您想完全禁用隐藏,您可能需要子类化以使用空实现NSApplication
覆盖。hide
我从来没有尝试过这个,但我看不出有任何理由它不会在没有麻烦的情况下工作。当然,您还应该从主菜单中删除“隐藏”选项。(请注意,仅仅这样做是不够的,因为您仍然会响应其他应用程序的发送hideOtherApplications:
。)
Hide
我认为模拟这种行为的最简单方法是从菜单栏中删除操作,因为我没有看到执行此操作的属性。因为它控制Command+H快捷方式。但是,如果您有一个停靠图标,用户可以右键单击它并将其隐藏在那里。因此,您可以响应NSApplicationDelegate
's applicationWillHide:
和applicationDidHide:
方法,然后再次显示您的应用程序。虽然我不认为这听起来像是一个好的用户体验。