Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to check if a NSWindow is visible

Is there a way to check if a NSWindow is visible or not? I want to display a sheet controller once the first window of my app became visible (the animation on 10.7 ended and the user can see the window!). If I just show the sheet in windowDidLoad, it results in a stupid looking animation (sheet rolling out, window popping out from the back). I know that NSWindowDelegate provides two methods which are invoked when a window either became the key window or the main window, however, this doesn't have to mean that the window is already fully visible at the time. This is even more noticeable on Lion where windows tend to pop up with this stupid animation.

like image 306
JustSid Avatar asked Aug 16 '11 16:08

JustSid


1 Answers

I would go for something like this:

if ([myWindow isVisible]) {
    // Do stuff
}

Or an an observer for this key path to be notified when the change occurs.

like image 151
PeyloW Avatar answered Oct 14 '22 03:10

PeyloW