0
我有一個圖像編輯器窗口。拖動事件之後,我將窗口縮小到左下角,縮小了縮小後的窗口。在縮圖上方,我將光標改爲operationNotAllowedCursor
。NSWindow直到點擊纔會響應
問題是:NSWindow
不會在第一個draggingEntered
(在第二個以及更多的一切正常之後)之後更改縮圖上的光標。此外,在縮小後的NSWindow在點擊任何區域之前不會收到任何事件。
代碼(在NSWindow的子類)最小化窗口:
-(void)minimize
{
const double miniSize = 240;
MSDraggingMiniature *mini = [[MSDraggingMiniature alloc] init];
[mini setMiniImage:[[MSScreenMaker getInstance] makeEditorScreen:(int)[self windowNumber]]];
_mainContentView = self.contentView;
_oldFrame = [self frame];
[self setStyleMask:NSBorderlessWindowMask];
self.contentView = mini;
NSRect drect = [[self screen] frame];
double width, height;
if (self.frame.size.width < self.frame.size.height) {
height = miniSize;
width = self.frame.size.width/self.frame.size.height * miniSize;
} else {
width = miniSize;
height = self.frame.size.height/self.frame.size.width * miniSize;
}
_anima = MSEditorResizeAnimationMinimize;
[self setFrame:NSMakeRect(drect.origin.x + 20, drect.origin.y + 20 , width, height) display:YES animate:YES];
}
-(void)deminimize
{
self.contentView = _mainContentView;
[self setStyleMask:NSTitledWindowMask];
_anima = MSEditorResizeAnimationDeminimize;
[self setFrame:_oldFrame display:YES animate:YES];
[self makeKeyWindow];
[self makeMainWindow];
}