有没有办法检查NSWindow
是否可见?一旦我的应用程序的第一个窗口变为可见,我想显示一个工作表控制器(10.7上的动画结束,用户可以看到窗口!)。如果我只是在windowDidLoad
中显示工作表,则会产生一个看起来很愚蠢的动画(工作表翻出,窗口从后面弹出)。我知道NSWindowDelegate
提供了两个方法,当窗口成为关键窗口或主窗口时调用这些方法,但是,这并不意味着窗口当时已经完全可见。这在Lion上更加引人注目,其中Windows倾向于弹出这个愚蠢的动画。
答案 0 :(得分:27)
我会选择这样的事情:
if ([myWindow isVisible]) {
// Do stuff
}
或者在发生更改时通知此关键路径的观察者。
答案 1 :(得分:1)
对于它的价值,你也可以绑定到window.visible属性。 Xcode 4可能会对你发出嘎嘎声,说这不是一个可绑定的属性,但它会起作用。
如果您根据窗口是否可见以及其他方法尝试启用/禁用显示/隐藏NSStatusItem,这将非常有用。
即。在Interface Builder中: