4

我的应用程序在菜单栏中有一个图标。NSPanel当我单击图标时会出现A。但是为什么没有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;
}
4

1 回答 1

1

通常 NSPanel 是半透明的。请参阅此处了解更多信息。如果您不想要半透明,您可以在自定义类下将 IB 中的 NSPanel 从 NSPanel 更改为 NSWindow。

于 2013-01-12T00:28:18.563 回答