我的应用在菜单栏中有一个图标。单击图标时会显示NSPanel
。但为什么NSPanel
没有像其他背景颜色那样具有灰色背景NSWindow
?我NSPanel
的背景看起来很透明。我的NSPanel
来自.xib
文件。我的代码如下:
(void)openPanel
{
NSLog(@"openPanel");
NSWindow *panel = self.panelController.window;
NSRect rect = [[[NSApp currentEvent] window] frame];
NSLog(@"rect.origin.x = %f",rect.origin.x);
NSLog(@"rect.origin.y = %f",rect.origin.y);
NSLog(@"rect.size.width = %f",rect.size.width);
NSLog(@"rect.size.height = %f",rect.size.height);
[panel setFrame:NSMakeRect(rect.origin.x, rect.origin.y-100, 200, 100) display:YES];
[NSApp activateIgnoringOtherApps:NO];
[panel makeKeyAndOrderFront:nil];
isPanelVisible = YES;
}
答案 0 :(得分:1)
通常NSPanel是半透明的。有关详细信息,请参阅here。如果你不想要半透明,你可以在自定义类下的IB中将NSPanel从NSPanel更改为NSWindow。