Sto cercando un metodo chiamato addNewItem:(NSToolbarItem *)item
o qualcosa di simile che mi consenta di aggiungere un elemento creato a livello di codice alla barra degli strumenti, ma non ne ho trovato nessuno. Vorrei aggiungere un elemento che mostri un popover quando l'utente fa clic su di esso, come in Safari quando l'utente scarica qualcosa.Come aggiungere a livello di codice nuovo NSToolbarItem alla barra degli strumenti esistente?
risposta
È necessario disporre di una classe conforme al protocollo NSToolbarDelegate
e un'istanza di tale classe essere il delegato della barra degli strumenti. Questo delegato, ad esempio, implementerebbe -toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:
, che restituisce un'istanza NSToolbarItem
per un dato identificatore, potenzialmente creando quell'elemento su richiesta. In questo modo, stai preparando il delegato a restituire un elemento della barra degli strumenti quando la barra degli strumenti lo richiede per l'elemento corrispondente a un identificatore.
Fatto ciò, è possibile aggiungere una nuova barra degli strumenti alla barra degli strumenti in modo programmatico inviando -[NSToolbar insertItemWithItemIdentifier:atIndex]
all'istanza della barra degli strumenti. L'argomento della stringa identificatore deve corrispondere a quello utilizzato nel paragrafo precedente. Se è necessario rimuovere un articolo, inviare -[NSToolbar removeItemAtIndex:]
alla barra degli strumenti.
Questo è descritto con esempi nella sezione Adding and Removing Toolbar Items del documento Toolbar Programming Topics for Cocoa.
- 1. Come aggiungere pulsanti alla barra degli strumenti di Eclipse?
- 2. Come aggiungere correttamente una vista personalizzata alla barra degli strumenti?
- 3. Aggiungi EditText alla barra degli strumenti
- 4. Aggiungi layout personalizzato alla barra degli strumenti
- 5. Come aggiungere pulsanti a una barra degli strumenti FireMonkey?
- 6. Come nascondere un NSToolbarItem utilizzando il codice?
- 7. Aggiunta di pulsanti alla barra degli strumenti del Finder?
- 8. Come aggiungere una singola voce di menu alla barra degli strumenti in Android?
- 9. Aggiungi barra degli strumenti a UITableViewController
- 10. Barra degli strumenti in DialogFragment
- 11. Aggiungi visualizzazione personalizzata alla destra della barra degli strumenti
- 12. API di estensione/gadget Gmail - come aggiungere un pulsante alla barra degli strumenti di composizione?
- 13. Visual Studio 2010: aggiunta di comandi alla barra degli strumenti
- 14. Rendere applicabile lo stile del pulsante Barra degli strumenti a UserControls nella barra degli strumenti
- 15. CKEditor 4 - come aggiungere controlli di dimensione famiglia e carattere alla barra degli strumenti
- 16. Come aggiungere pulsanti di allineamento del testo alla barra degli strumenti in TinyMCE 4.x?
- 17. Non riesco ad aggiungere il pulsante Sorgente alla barra degli strumenti di CKEditor 4
- 18. BlackBerry - Custom menu a barra degli strumenti
- 19. Laravel: abilitazione barra degli strumenti di debug
- 20. Come aggiungere i vincoli a livello di codice a un UIView creato a livello di codice?
- 21. Come posso aggiungere un QComboBox alla barra degli strumenti principale in Qt Creator
- 22. Come aggiungere il pulsante "Modifiche in sospeso" alla barra degli strumenti in VS 2010
- 23. Come modificare il tema della barra degli strumenti di AppCompat v21 a livello di programmazione?
- 24. Aggiunta di una vista personalizzata a una barra degli strumenti
- 25. Barra degli strumenti e NavigationDrawer
- 26. Aggiunta pulsante a jqGrid barra degli strumenti superiore
- 27. Il frammento si sovrappone alla barra degli strumenti AppCompat
- 28. Contenuto barra degli strumenti Android
- 29. Aggiungi/aggiungi i pulsanti alla barra degli strumenti in eclissi?
- 30. Come aggiungere una barra degli strumenti a un TableView in iOS
perché così complicato, Apple? – Lukas
@Lukas perché indietro quando è stato progettato NSToolbar, tecniche come questa erano necessarie per ridurre il consumo di RAM. Questo era uno schema standard e il modo in cui ogni cosa a Cocoa funzionava. Solo le nuove cose non funzionano così. –