Domanda

In iPhone OS 3.0, è possibile impostare le voci della barra degli strumenti di un UINavigationController utilizzando il metodo setToolbarItems:animated:. Tuttavia, questo richiede che si passa in una serie di UIToolbarItems. Mentre potrei programmazione creare questi elementi della barra degli strumenti, preferirei ostacolare in Interface Builder, se possibile.

Con questo in mente, ho creato un UIToolbar in "MyGreatViewController.xib" e hanno popolato con gli elementi della barra degli strumenti ricercati. Poi, in "MyGreatViewController.m", ottengo gli elementi dalla barra degli strumenti e passarli a setToolbarItems:animated::

- (void)viewDidLoad {
    [super viewDidLoad];
    [self setToolbarItems: [toolbar items]];
}

... dove toolbar è un IBOutlet riferendosi al UIToolbar.

E 'questo un buon approccio? C'è un modo migliore per ottenere questo risultato? Devo solo creare gli elementi di programmazione?

È stato utile?

Soluzione

E 'un modo perfettamente accettabile di farlo, ma non tenere a mente che il caricamento dei file XI TER è piuttosto costoso su iPhone, e può ben essere più veloce per creare gli elementi della barra degli strumenti programmaticamente nel metodo viewDidLoad.

Altri suggerimenti

Non so se questo è documentato da nessuna parte, ma ho scoperto che in Interface Builder, se si attiva la barra degli strumenti del controller di navigazione, è possibile trascinare gli elementi a barre per il vostro controller della vista, ed essi saranno automagicamente presentarsi in barra degli strumenti del controller di navigazione.

Per esempio, ecco cosa si può fare (usando Xcode 3.2 su Snow Leopard):

  1. File-> Nuovo progetto .... Scegli Applicazione di navigazione basato e creare il progetto.
  2. Apri MainWindow.xib in Interface Builder.
  3. Selezionare il controller di navigazione, e in Attributi, selezionare la casella "barra degli strumenti mostra". Questo farà apparire un oggetto barra degli strumenti.
  4. Trascinare un pulsante di barra elemento dalla libreria alla barra degli strumenti. Apparirà nella barra degli strumenti. Se si seleziona la gerarchia nella NIB, vedrete che questo nuovo elemento è un figlio del RootViewController.

Sembra che ogni barra dei pulsanti di elementi aggiunti come figli della voce di navigazione verranno visualizzati nella barra di navigazione, e tutti gli elementi della barra del tasto aggiunti come figli del controller della vista verranno visualizzati nella barra degli strumenti.

(mi sono imbattuto in questo incidente. Se qualcuno può trovare la documentazione per questo comportamento, o di qualsiasi informazioni, mi piacerebbe sentire su di esso.)

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