4

我在尝试创建类似于 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 上都试过了。有谁知道如何实现这种风格的窗口以及关闭/标题按钮?

4

1 回答 1

7

您发布的该文档链接似乎表明您也需要包含NSUtilityWindowMask在掩码中。

于 2012-12-18T04:22:39.960 回答