I don't see the problem
Upload another
Refresh the page ) already uploaded
"effects" near Cancel button occurs when the sheet resizing horizontally )
and more: "effects" occurs only when panel in "sheet mode". I think this is directly related to the transparency of the sheet.
P.S.: The sheet inherited from NSPanel
Thanks, but How can it help me? NSPanel inherits from NSWindow. But I try and, of course, it did not help. ))Why? Is it older code that you converted from a panel to a sheet? Try switching it to a NSWindow, see it that helps.
I suppose the other question might be why would you need to resize the sheet at all? Zero the resize flag. It is highly unlikely that anyone will ever notice or complain.
I'm curious: Do you draw the sheet's bottom bar gradient yourself (with a custom view), or are they content borders, as introduced with Mac OS X 10.5?
Anyway, one thing you could try is monitoring size changes for the sheet (by means of a delegate, for instance), then marking either the whole window or all of your bottom bar buttons' superview hierarchy for needing display. Clearly, you shouldn't have to do that, but it might help.
(By the way, here's another vote for making this particular sheet non-resizable. Regardless, though, this glitch is still interesting.)
... , then marking either the whole window or all of your bottom bar buttons' superview hierarchy for needing display. ...
How do I do this?
- (NSSize)windowWillResize: (NSWindow*)theWindow toSize: (NSSize)theProposedWindowSize {
NSView *aView = copyPasteboardButton; // assume copyPasteboardButton is an IBOutlet connected to the "Copy Pasteboard" button in your sheet's bottom bar
while (aView = [aView superview]) {
[aView setNeedsDisplay: YES];
}
return theProposedWindowSize;
}
Try something like this in your sheet's delegate:
Code:- (NSSize)windowWillResize: (NSWindow*)theWindow toSize: (NSSize)theProposedWindowSize { NSView *aView = copyPasteboardButton; // assume copyPasteboardButton is an IBOutlet connected to the "Copy Pasteboard" button in your sheet's bottom bar while (aView = [aView superview]) { [aView setNeedsDisplay: YES]; } return theProposedWindowSize; }
@implementation NSPanel (SheetResize)
- (NSSize) windowWillResize: (NSWindow*)theWindow toSize: (NSSize)theProposedWindowSize
{
[_borderView setNeedsDisplay: YES];
return theProposedWindowSize;
}
@end