Come aggiungere programmazione nuova NSToolbarItem alla barra degli strumenti esistenti?

StackOverflow https://stackoverflow.com/questions/7321510

  •  27-10-2019
  •  | 
  •  

Domanda

Sto cercando un metodo chiamato addNewItem:(NSToolbarItem *)item o qualcosa di simile che mi permette di aggiungere un elemento a livello di codice creato per la mia barra degli strumenti, ma non ho trovato alcuna. Vorrei aggiungere un elemento che mostra un popover quando l'utente fa clic su di esso, come in Safari quando l'utente scarica qualcosa.

È stato utile?

Soluzione

È necessario disporre di una classe che conforme al protocollo NSToolbarDelegate e avere un'istanza di quella classe siano il delegato della barra degli strumenti. Questo delegato avrebbe, per esempio, implementare -toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar:, che restituisce un'istanza NSToolbarItem per un dato identificativo, creando potenzialmente tale elemento su richiesta. In questo modo, si sta preparando il delegato per restituire un oggetto barra quando essa lo chiede per la voce corrispondente ad un identificatore.

Dopo aver fatto questo, si può programatically aggiungere un nuovo elemento alla barra degli strumenti con l'invio -[NSToolbar insertItemWithItemIdentifier:atIndex] all'istanza della barra degli strumenti. L'argomento stringa di identificazione deve corrispondere a quella utilizzata nel paragrafo precedente. Se è necessario rimuovere un elemento, invio -[NSToolbar removeItemAtIndex:] alla barra degli strumenti.

Questo è descritto con esempi nel Aggiunta e rimozione della barra degli strumenti Articoli sezione della Toolbar Programmazione Argomenti per i Cocoa documento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top