我正在尋找一種名爲addNewItem:(NSToolbarItem *)item
或類似的東西,讓我添加一個以編程方式創建的項目到我的工具欄,但我還沒有找到任何。我想添加一個項目,當用戶點擊它時顯示彈出窗口,就像用戶在下載內容時在Safari中一樣。如何以編程方式將新的NSToolbarItem添加到現有的工具欄?
6
A
回答
12
您需要有一個符合NSToolbarDelegate
協議的類,並讓該類的實例成爲工具欄的代表。例如,這個代表可以實現-toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:
,它會爲給定的標識符返回一個NSToolbarItem
實例,可能會按需創建該項目。通過這樣做,當工具欄要求它爲與標識符相對應的項目時,您準備委託來返回工具欄項目。
完成該操作後,您可以通過向工具欄實例發送-[NSToolbar insertItemWithItemIdentifier:atIndex]
以編程方式將新的工具欄項添加到工具欄中。標識符字符串參數應該與上面段落中使用的參數匹配。如果您需要刪除一個項目,請將-[NSToolbar removeItemAtIndex:]
發送到工具欄。
這是用Toolbar Programming Topics for Cocoa文檔的Adding and Removing Toolbar Items部分中的示例來描述的。
相關問題
- 1. 如何以編程方式將UIButton添加到工具欄上?
- 2. 如何以編程方式將工具欄添加到LinearLayout
- 3. 以編程方式將工具欄添加到Android中的RelativeView
- 4. Android將按鈕以編程方式添加到工具欄
- 5. 以編程方式將UILabel添加到工具欄
- 6. 如何以編程方式在工具欄面板中添加工具欄?
- 7. 如何以編程方式將TextView添加到現有的RelativeLayout?
- 8. 以編程方式將彙總工具欄添加到SharePoint 2010中的ListViewWebPart
- 9. 以編程方式添加工具欄的UIToolbar外觀
- 10. 如何以編程方式將導航欄添加到presentModalViewController?
- 11. 以編程方式在wpf中將按鈕添加到工具欄
- 12. 以編程方式將TextView添加到現有的XML文件
- 13. 以編程方式將類添加到現有的JAR文件
- 14. 如何以編程方式在iPad上的工具欄中添加UISegmentedControl
- 15. 以編程方式將新的Dojo AccordionPane添加到現有的AccordionContainer
- 16. 以編程方式隱藏工具欄
- 17. 以編程方式構建工具欄
- 18. 如何以編程方式將AjaxBehavior添加到具有primefaces的UIComponent
- 19. 如何以編程方式將代碼添加到工作表?
- 20. 如何以編程方式將導航欄添加到我的應用程序?
- 21. 如何以編程方式將其他列添加到現有的gridview?
- 22. 如何以編程方式將文件添加到現有的tar文件
- 23. 如何以編程方式將UI元素添加到現有的nib文件
- 24. 如何將CheckBox添加到工具欄?
- 25. 如何將textField添加到工具欄
- 26. 如何以編程方式點擊TinyMCE工具欄的按鈕?
- 27. 如何以編程方式實例化Android中的工具欄?
- 28. 如何編寫更新以添加具有現有值的列
- 29. 以編程方式添加UINavigation欄
- 30. 以編程方式將按鈕添加到導航欄
爲什麼這麼複雜,蘋果? – Lukas
@Lukas因爲當NSToolbar被設計出來時,像這樣的技術對於減少RAM的消耗是必要的。這是一個標準模式,以及Cocoa中的_everything_如何用於工作。只有新東西不能像這樣工作。 –