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 に答える