Objective c 如何在Cocoa文档窗口中具有多个代理图标?

Objective c 如何在Cocoa文档窗口中具有多个代理图标?,objective-c,macos,cocoa,icons,nswindow,Objective C,Macos,Cocoa,Icons,Nswindow,大多数Cocoa应用程序只要调用NSWindow-setRepresentedFilename:,就会在其NSWindow的顶部中心显示一个漂亮的小代理图标 以下是带有PDF文档的预览应用程序示例: Xcode以某种方式管理显示两个代理图标——一个用于项目文件,另一个用于源显示中的当前文档 有人知道他们是怎么做到的吗窗口:shouldPopUpDocumentPathMenu:在NSWindowDelegate中似乎非常接近-您可能可以用它定位自定义路径菜单。但是,似乎没有任何东西可以让您实

大多数Cocoa应用程序只要调用
NSWindow
-setRepresentedFilename:,就会在其
NSWindow
的顶部中心显示一个漂亮的小代理图标

以下是带有PDF文档的预览应用程序示例:

Xcode以某种方式管理显示两个代理图标——一个用于项目文件,另一个用于源显示中的当前文档

有人知道他们是怎么做到的吗<代码>窗口:shouldPopUpDocumentPathMenu:在
NSWindowDelegate
中似乎非常接近-您可能可以用它定位自定义路径菜单。但是,似乎没有任何东西可以让您实际显示这两个代理图标本身


有什么想法吗?

不幸的是,苹果有API,而我们其他人没有。搞乱标题栏真的很难

我所能建议的最好方法是使您的窗口不具有标准标题栏,然后通过调用[self-standardWindowButton:X]为您想要的每个关闭、调整大小和缩小按钮自己放置按钮。然后放置您自己的文档图标和标题文本字段

您可能必须跟踪窗口何时丢失或获得关键或主要状态,并相应地修改按钮(每次发生这种情况时,Cocoa都会获取新按钮,不确定原因)。哇!祝你好运