NSMenuItem的自定义视图

时间:2014-02-03 13:35:02

标签: objective-c cocoa nsview nsmenu nsmenuitem

我查看了相关问题并检查了Apple's sample project,但这些示例几乎以编程方式完成所有操作。我希望在IB中尽可能多地做。

我的问题是:完成此任务的一般程序是什么?

  1. 创建一个新的xib文件以保存具有各种的NSView子类 嵌入式UI元素。
  2. 在代码中创建NSView子类。
  3. 当我向菜单中添加项目(动态发生)时,我会创建 NSMenuItem然后调用实例的setView:方法。
  4. 我对在IB中设置FilesOwner感到困惑(在这种情况下,我的自定义NSView子类是FilesOwner)?

    非常感谢任何澄清。

1 个答案:

答案 0 :(得分:1)

如果自定义视图更复杂,我会创建一个新的xib。如果它是一个非常简单的视图,您可以在代码中创建它。

关于文件的所有者和结构,如果自定义菜单项视图有自己的xib文件,我会使用NSViewController。然后在代码中实例化该视图控制器并将其视图分配给NSMenuItem。这样你就可以通过控制器处理组织内容并保持MVC范例。