你如何重新订购一个窗口,以便在可可的所有其他窗口之上?

时间:2010-08-23 17:37:48

标签: cocoa macos user-interface desktop

我希望我的应用程序在需要显示重要信息时成为OSX桌面上的顶级窗口。你会如何在可可中做到这一点?

2 个答案:

答案 0 :(得分:2)

你的意思是你想要劫持用户的屏幕?你能不能只在NSApplication上调用requestUserAttention:吗?如果你真的必须劫持屏幕,那么请查看NSWindow中的setLevel:。请记住,除非有非常这样做的理由,否则任何像我这样的用户都会在您劫持屏幕后立即删除您的应用程序。无论什么时候考虑做这样的事情,先看看http://developer.apple.com/mac/library/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html,然后再决定它是否是正确的行动方案。

答案 1 :(得分:0)

  

我希望我的应用程序成为顶级窗口......

您不能,因为应用程序不是窗口。

  

......它需要显示重要信息。你会如何在可可中做到这一点?

发送NSApplication对象a requestUserAttention: message。用户将在他们自己的时间激活您的应用程序(例如,在他们完成在某处键入密码之后)。