Ho un controller di visualizzazione modale la cui vista proviene da un XIB. Voglio che abbia lo stesso aspetto del resto della mia app basata sulla navigazione, ma non è una vista che viene spinta allo stack di navigazione, è presentata in modo modale. Ho trascinato una UINavigationBar e l'ho resa una presa, ma non ha una proprietà title da impostare. Ho due campi che possono far apparire questa vista modale e voglio impostare il titolo in modo diverso a seconda di quale si crea la vista modale.Imposta il titolo della barra di navigazione creata in Interface Builder
risposta
UINavigationBar
's gestire una pila di UINavigationItem
s molto simile a un manager UINavigationController
una pila di UIViewController
s. Per impostare direttamente ciò che è visibile, è necessario utilizzare pushNavigationItem:animated:
o setItems:animated:
utilizzando l'oggetto navigationItem del controller di visualizzazione che si desidera venga riflesso.
esempio:
self.navigationItem.title = @"A custom title";
[self.navigationBar pushNavigationItem:self.navigationItem animated:NO];
Il codice di sopra, dove si dispone di una proprietà che fa riferimento al navigationBar
barra di navigazione autonoma.
Se non si desidera gestire da soli, si può fare come suggerito mplappert e nidificano la visualizzazione del controller (senza stand-alone UINavigationBar
) in una UINavigationController
e presentare il controller di navigazione modale al posto del tuo controller della vista.
Inserire semplicemente lo UIViewController
in un nuovo stack di controller di visualizzazione UINavigationController
e presentare modalmente il controller di navigazione.
Trova anche questo modo più semplice se hai già definito un UINavigationBar nel tuo IB. Supponendo self.navigationBar è il tuo IBOutlet:
self.navigationBar.topItem.title = title;
(Usando XCode 4.5.2) Trovato un metodo che funziona direttamente in Interface Builder - senza impostare nel codice.
Con l'oggetto ViewController selezionato in (IB), sotto Identity Inspector è presente una sezione denominata "Attributi di runtime definiti dall'utente". Ho aggiunto il "titolo" keyPath di tipo String e lo ho impostato sul valore che volevo.
Testato e funziona quando viene spinto su uno stack del controller Nav e quando viene aperto modalmente (con un controller Modal Nav, ovviamente).
Come localizzare questo valore? – Arvis
nel mio file h
trascinato il figlio della voce di navigazione dallo storyboard nel file .h
chiamò "navigationBarTitle"
nel mio .m file
- Aggiunto self.navigationBarTitle.title = @ "Some Title";
viewcontroller.il file h in creare IBOutlet della voce di navigazione
@property (weak, nonatomic) IBOutlet UINavigationItem *navigationBarTitle;
- chiamò "navigationBarTitle"
nel file di viewcontroller.m nel aggiungere il codice in super-viewDidLoad
self.navigationBarTitle.title = @"Favorites";
collegare lo storybord nella navigazione elemento della barra di navigazioneBarTitle.
Ecco il modo più semplice:
[[[self.navigationController navigationBar] topItem] setTitle:@"The Title"];
è possibile utilizzare barra di navigazione esistente con seguente codice
self.navigationController?.navigationBar.topItem?.title = "Calender"
- 1. Modifica font barra di navigazione Titolo in Interface Builder
- 2. Più pulsanti nella barra di navigazione iOS tramite Interface Builder?
- 3. Imposta il titolo della barra degli strumenti
- 4. Come si imposta stretchableImageWithLeftCapWidth in Interface builder?
- 5. Barra di navigazione multilinea Titolo
- 6. Rendi mobile il titolo della barra di navigazione
- 7. Nascondere il titolo della barra di navigazione senza rimuoverlo
- 8. iOS - Interface Builder: il titolo UIButton scompare quando si imposta l'immagine
- 9. UIAsembra, vedere il risultato in Interface Builder?
- 10. Barra di navigazione di transizione Titolo
- 11. Barra di navigazione Swift Titolo immagine
- 12. Modifica del titolo della barra di navigazione di UIImagePickerController
- 13. iPhone: Impostazione barra di navigazione Titolo
- 14. Barra di navigazione Titolo Dimensione carattere
- 15. NSPanel con "Barra del titolo" deselezionata in Interface Builder non appare
- 16. Come aggiungere un controller di navigazione con Interface Builder?
- 17. Come impostare la barra di navigazione destra titolo del pulsante
- 18. Impostazione dell'immagine di UIImageView in Interface Builder
- 19. Imposta il titolo della pagina in elm?
- 20. Ordinamento di scene in Xcode Interface Builder
- 21. Il carattere del titolo non cambia nella barra di navigazione
- 22. Cambia il colore del titolo principale della navigazione in MFMailComposeViewController
- 23. imposta il titolo dell'elemento del pulsante barra posteriore in ios
- 24. UIView `readableContentGuide` in Interface Builder?
- 25. Oggetti segnaposto in Interface Builder
- 26. Impostazione del titolo di una barra di navigazione all'interno di un controller della barra delle schede
- 27. impostazione Titolo di barra di navigazione in Xcode
- 28. Imposta il titolo per la barra di azione contestuale
- 29. Come aggiungere MKUserTrackingBarButtonItem in Interface Builder
- 30. Interface Builder UIDatePicker
Questa è la risposta corretta. – Fengson
Questo ha funzionato per me. –
nel mio caso: self.navigationController.navigationBar.topItem.title = @ "title" –