除了自己的文件类型弹出按钮外,还向 NSDocument 的保存面板添加附件视图

Bri*_*ter 4 macos cocoa nsdocument

我有一个NSDocument可以保存为多种文件类型的基于应用程序,因此在保存文档时,NSDocument 有助于将弹出按钮添加到保存面板作为其附件视图,让用户选择他们想要保存的类型。好的。

现在,我有另一个视图要包含在保存面板中,但是如果我只是覆盖-[NSDocument prepareSavePanel:]并用于-setAccessoryView:插入我自己的视图,它会替换文件类型弹出按钮,因此只有我的视图出现在保存面板而不是弹出按钮。

有没有什么办法NSDocument提供同时拥有我自己的观点其文件类型弹出出现在保存面板在同一时间?看起来我可以抓住现有的附件视图,将它与我自己的附件一起修补到容器视图中,然后将其放回,但这似乎很hackish,并且想知道是否有更好的方法来做到这一点,我已经错过了。

小智 5

不,没有明显更好的方法。可能更容易/更好:

  1. 在您自己的附件视图笔尖中创建文件类型弹出窗口
  2. 在运行时,找到NSSavePanel现有的附件弹出窗口,
  3. 呼叫setTarget:/ setAction:/setMenu:与从现有弹出的设置参数拉你的弹出窗口。

这就是我们的应用程序的工作方式,并且可以更轻松地将文件类型弹出窗口与其余控件一起放置在同一个笔尖中。