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];
}