Reputation: 16129
I have an NSWindow
with 2 NSViews
(an NSSplitView
and a custom NSView
). Accessing the data to populate these views can take some time. During this period, I'd like to gray out the content of these views.
My first approach was to have a black third NSView
that covered the other 2 and achieve the graying out effect by changing its alpha value. However I've since learned having a hierarchy with sibling views is undefined.
What is the best approach here?
NSBitmapImageRep
of the 2 views, then replace them with the 3rd view, using the cached image(s) as backgroundUpvotes: 3
Views: 2251
Reputation: 96323
I'd use a child window. Set its content view to a plain black view (hopefully with status and progress information in subviews), and its alpha value to the desired fade-out, and add it as a child window of the window whose content you want to fade out.
Upvotes: 6
Reputation: 5861
I'd teach the views how to draw themselves in a disabled state, but there are other suggestions here:
How can I darken everything displayed in a single NSView?
Upvotes: 2