8

Ho un controller di navigazione che ha una barra di navigazione. Mi piacerebbe davvero avere 3 UIBarButtonItems, uno a sinistra, uno nel mezzo e uno a destra. Sono in grado di aggiungere quelli di sinistra e di destra, ma come aggiungerei uno nel mezzo, poiché quando si utilizza un controller di navigazione, non posso aggiungere una serie di elementi alla proprietà degli oggetti navbar?Aggiungi UIBarButtonItem a navigationItem.titleView?

Potrei in qualche modo aggiungere un UIButton, in stile UIBarButtonItem nella posizione titleView?

risposta

4

preso da apple api, in pratica è possibile creare un UIView personalizzato che ha un UIButton e usarlo come titleView (notare la nota su unBarButtonItem sinistro fa sì che il titleView sia ignorato e non mostrato): (modifica nota: questa è una proprietà di UINavigationItem)

titleView una visualizzazione personalizzata visualizzato al centro della barra di navigazione quando questo articolo è la prima voce.

@property (nonatomic, mantenere) UIView * titleView Discussione Se questo valore della proprietà è pari a zero, il titolo dell'articolo di navigazione viene visualizzata al centro della barra di navigazione quando questo articolo è la prima voce. Se si imposta questa proprietà su un titolo personalizzato, questa viene visualizzata al posto del titolo. Questa proprietà viene ignorata se leftBarButtonItem non è nullo.

Le viste personalizzate possono contenere pulsanti. Usa il pulsante buttonTipo: nella classe UIButton per aggiungere pulsanti alla tua vista personalizzata nello stile della barra di navigazione. Le viste titolo personalizzate sono centrate sulla barra di navigazione e possono essere ridimensionate per adattarsi.

+1

La nota nella documentazione che 'leftBarButtonItem' fa ignorare' titleView' è interessante. Nei miei test su iOS 4.3 e iOS 5.1, ho scoperto che questo è * falso *. Ho aggiunto un pulsante come elemento di sinistra e aggiunto un controllo segmentato come titolo ed entrambi vengono visualizzati felicemente. –

+1

@ AdrianSchönig, relativo al tuo commento: http://stackoverflow.com/q/9690409/280789 – mon4goos

Problemi correlati