NSMenuItem的Cocoa自定义视图

6 cocoa nsview nsmenuitem

我正在开发一个小应用程序,它在NSStatusBar的菜单中显示活动的挂载.到目前为止它看起来像这样:

应用程序显示活动安装

我想在每个菜单项的右侧添加一个弹出按钮(如Finder中的左侧栏).我知道我必须创建一个自定义视图并使用setView:方法设置它.问题是我对Cocoa很新,现在我不知道如何深入了解自定义视图主题.实际上,我编程了很多但到目前为止从未使用过接口:).你们有没有人有一个很好的教程,可以将自定义视图添加到NSMenuItem?

我认为这个应用程序非常方便,因为您可以隐藏桌面上挂载的图标.问题是你总是要回到取景器来卸载一个卷......

感谢您的任何帮助或提示!

Jos*_*zzi 2

它不必是自定义视图。它可以只是一个标准 NSView,充当标准控件的容器。

对于新手来说,棘手的部分是使视图可重用。您将需要自己的 NSViewController 子类以及相应的视图 nib/xib (使用您的名称标签和弹出按钮进行设置)。对于每个菜单项,您将使用 XIB ( -initWithNibName:bundle: ) 实例化一个新的 NSViewController 并将其表示的对象设置为您的安装点。您的视图控制器子类将拥有响应弹出按钮单击、将标签设置为其表示的对象的路径等所需的一切。