有谁知道如何在基于文档的应用程序窗口的标题栏中隐藏小图标?
NSWindow的文档说:
要自定义文档图标,您可以使用以下代码段:
[[window standardWindowButton:NSWindowDocumentIconButton] setImage:nil];
但是这不起作用因为window:stardardWindowButton:NSWindowDocumentIconButton返回nil,根据文档意味着该按钮不在窗口的视图层次结构中。
我查看了NSDocument,但这似乎并没有在任何地方引用图标。
我也尝试了How to show a title of document window without icon?中的所有答案,但它们不起作用。我猜小牛队的事情发生了变化。
答案 0 :(得分:3)
另一种方法是覆盖NSWindow
的{{1}}类功能,并为要删除的按钮返回standardWindowButton:forStyleMask:
:
nil
答案 1 :(得分:0)
事实证明,标题栏中的文件图标是NSThemeDocumentButton按钮。奇怪的是,在调用windowControllerDidLoadNib时它并不存在,但它确实存在"稍后"。所以我在我的代码和bam中稍微延迟了,就是这样。
这是我在windowControllerDidLoadNib中的内容:
dispatch_time_t delayTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC));
dispatch_after(delayTime, dispatch_get_main_queue(), ^(void){
NSWindow *window = self.windowForSheet;
[[window standardWindowButton:NSWindowDocumentIconButton] setImage:nil];
});