我正在寻找一个名为addNewItem:(NSToolbarItem *)item
的方法或类似的方法,它允许我将一个以编程方式创建的项目添加到我的工具栏中,但我还没有找到任何方法。我希望在用户点击时添加一个显示弹出框的项目,例如在用户下载内容时使用Safari。
答案 0 :(得分:14)
您需要有一个符合NSToolbarDelegate
协议的类,并且该类的实例是您工具栏的委托。例如,该委托将实现-toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:
,它返回给定标识符的NSToolbarItem
实例,可能会按需创建该项目。通过执行此操作,您正准备您的委托在工具栏要求输入与标识符对应的项目时返回工具栏项。
完成此操作后,您可以通过将-[NSToolbar insertItemWithItemIdentifier:atIndex]
发送到工具栏实例,以编程方式将新工具栏项添加到工具栏。标识符字符串参数应与上面段落中使用的参数匹配。如果您需要删除项目,请将-[NSToolbar removeItemAtIndex:]
发送到工具栏。
Adding and Removing Toolbar Items文档的Toolbar Programming Topics for Cocoa部分中的示例对此进行了描述。