我在尝试创建类似于 VLC 均衡器中使用的 HUD 样式的 NSPanel 时遇到了困难(图片在这里)。首先,我想要一个带有关闭按钮和标题的透视面板。这是我试图用来实现的代码
- (IBAction)buttonTapped:(id)sender {
NSPanel *panel = [[NSPanel alloc] initWithContentRect:NSMakeRect(200.0, 200.0, 300, 200)
styleMask:NSHUDWindowMask | NSClosableWindowMask | NSTitledWindowMask
backing:NSBackingStoreBuffered
defer:YES];
[panel makeKeyAndOrderFront:nil];
}
NSHUDWindowMask
参数显然有效,我得到一个灰色的透明面板。但是,NSClosableWindowMask
参数似乎什么都不做(没有关闭按钮)并且NSTitledWindowMask
会产生以下运行时错误:
平视显示窗口不支持窗口样式掩码 0x2003
据我从文档中可以看出,应该允许这种掩码组合。我在 OS X 10.7 和 10.8 sdks 上都试过了。有谁知道如何实现这种风格的窗口以及关闭/标题按钮?