13

我正在寻找一种名为addNewItem:(NSToolbarItem *)item或类似的方法,它可以让我以编程方式创建的项目添加到我的工具栏,但我没有找到任何东西。我想添加一个项目,当用户点击它时会显示一个弹出框,就像在 Safari 中当用户下载某些东西时一样。

4

1 回答 1

18

您需要有一个符合NSToolbarDelegate协议的类,并有一个该类的实例作为工具栏的委托。例如,此委托将实现-toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:,它返回NSToolbarItem给定标识符的实例,可能会按需创建该项目。通过这样做,当工具栏要求它提供与标识符对应的项目时,您准备让您的委托返回一个工具栏项目。

完成后,您可以通过发送-[NSToolbar insertItemWithItemIdentifier:atIndex]到工具栏实例以编程方式将新工具栏项添加到工具栏。标识符字符串参数应与上一段中使用的匹配。如果您需要删除某个项目,请发送-[NSToolbar removeItemAtIndex:]到工具栏。

这在Cocoa文档的工具栏编程主题的添加和删除工具栏项部分中通过示例进行了描述。

于 2011-09-06T17:20:20.977 回答