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

时间:2011-05-11 02:21:03

标签: cocoa macos nsdocument

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

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

NSDocument是否有任何方式让我自己的视图同时出现在保存面板中的文件类型弹出窗口?看起来我可以抓住现有的配件视图,将它与我自己的配件一起打到一个容器视图中,并把它放回去,但这看起来非常h​​ackish,并且想知道是否有更好的方法来做到这一点,我已经错过。

1 个答案:

答案 0 :(得分:4)

不,没有明显更好的方法。它可能稍微/更好:

  1. 在您自己的附件视图笔尖
  2. 中创建文件类型弹出窗口
  3. 在运行时,找到NSSavePanel现有的附件弹出窗口
  4. 在弹出窗口中调用setTarget: / setAction: / setMenu:,并从现有弹出窗口的设置方式中提取参数。
  5. 这就是我们的应用程序执行操作的方式,并且使用其他控件可以更容易地将文件类型弹出窗口定位,因为它们都在同一个笔尖中。