当弹出窗口显示时,我很好奇是否可以在弹出框的窗口中设置基础设置,例如窗口级别.在我的测试中,弹出窗口似乎是一个窗口,但它们不响应普通NSWindow选择器,例如setLevel:.
是否可以设置窗口级别NSPopover?
我在这里遇到了问题.我正在创建一个NSTrackingArea这样的:
NSTrackingArea *area = [[NSTrackingArea alloc] initWithRect:[self frame] options:NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways owner:self userInfo:nil];
[self addTrackingArea:area];
[area release];
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,这是一个问题.我把它设置成这样:
-(void)mouseEntered:(NSEvent *)event {
[self toggleDetail];
}
-(void)mouseExited:(NSEvent *)event {
[self toggleDetail];
}
Run Code Online (Sandbox Code Playgroud)
而且toggleDetail基本上是这样的:
- (void)toggleDetail {
if (!attachedWindow) {
NSPoint buttonPoint = NSMakePoint(NSMidX([conditionImage frame]),
NSMidY([conditionImage frame]));
attachedWindow = [[MAAttachedWindow alloc] initWithView:view
attachedToPoint:buttonPoint
inWindow:[self window]
onSide:12
atDistance:10.0];
//config removed because of irrelevance
[[self window] addChildWindow:attachedWindow ordered:NSWindowAbove];
} else {
[[self window] removeChildWindow:attachedWindow];
[attachedWindow orderOut:self];
[attachedWindow release];
attachedWindow = nil; …Run Code Online (Sandbox Code Playgroud)