为什么我的NSPanel没有正常的灰色背景?

时间:2012-12-02 13:28:30

标签: objective-c macos cocoa nspanel

我的应用在菜单栏中有一个图标。单击图标时会显示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;
}

1 个答案:

答案 0 :(得分:1)

通常NSPanel是半透明的。有关详细信息,请参阅here。如果你不想要半透明,你可以在自定义类下的IB中将NSPanel从NSPanel更改为NSWindow。