come visualizzare un'immagine nella barra di navigazione di un'applicazione iPhone? (diciamo, subito dopo il titolo)come visualizzare un'immagine nella barra di navigazione di un'applicazione iPhone?
risposta
la barra di navigazione ha una proprietà denominata vista titolo - impostala sull'immagine che ti piace. Poiché titleView sovrascrive il titolo della barra di navigazione, devi includere il titolo desiderato nel file immagine. Ancora imposta il titolo su ciò che desideri in modo che appaia sul pulsante Indietro quando si preme una vista. Controller
Non l'ho ancora testato, ma poiché UINavigationBar è una vista, è possibile aggiungervi subview.
UIImage* myImage = [UIImage imageNamed:@"Myimage.png"];
UIImageView* myImageView = [[UIImageView alloc] initWithImage:myImage];
myImageView.frame.origin.x = 30.0; // You will have to find suitable values for the origin
myImageView.frame.origin.y = 5.0;
[myTabbar addSubView:myImageView];
[myImageView release];
È possibile utilizzare elementi come la proprietà backItem per calcolare la posizione della vista dell'immagine.
Ciao, Potrebbe farmi sapere come posso accedere alla mia UINavigationBar? Grazie. – ebaccount
Sì, funziona. Mostra l'immagine nell'angolo in alto a sinistra della barra di navigazione. Ho ottenuto l'accesso da UINavigationBar * navBar = [self.navigationController navigationBar]; Tuttavia, non ho potuto controllare la posizione x, y dell'immagine. Non importa quali valori ho impostato su myImageView.frame.origin.xey mostra ancora nell'angolo in alto a sinistra. Potresti farmi sapere come posso impostare la posizione – ebaccount
Puoi mostrare il codice così posso vedere esattamente cosa stai facendo? Ricorda che il frame delle tue immagini è relativo al frame di UITabbar, quindi dovresti prima controllarlo. –
Ecco come avere l'immagine centrata nella barra di navigazione.
UIImage *image = [UIImage imageNamed: @"NavBarImage.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage: image];
self.navigationItem.titleView = imageView;
[imageView release];
Questo codice è in realtà contenuta con la fonte di Apple per la barra di navigazione e può essere trovato presso il Centro per sviluppatori iPhone di Apple. La sorgente mostra vari modi per manipolare sia la barra di stato & NavBar.
Potrebbe essere necessario impostare le dimensioni di imageView prima di impostarlo come titleView. I parametri di origine non hanno importanza: saranno centrati automaticamente. I secondi due numeri sono larghezza e altezza. 'imageView.frame = CGRectMake (0, 0, 200, 30);' –
grazie funziona perfettamente! – iwasrobbed
questo non si estende al massimo grado la risposta migliore che ho trovato è http://stackoverflow.com/questions/979750/background-image-for-navigation-view-iphone – LolaRun
Se si desidera che l'immagine a destra della barra di navigazione, è possibile definire come un pulsante personalizzato con nessuna azione quando presed, come questo
UIButton* fakeButton = (UIButton *) [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage.png"]];
UIBarButtonItem *fakeButtonItem = [[UIBarButtonItem alloc] initWithCustomView:fakeButton];
self.navigationItem.rightBarButtonItem = fakeButtonItem;
[fakeButtonItem release];
[fakeButton release];
Sì, penso che questo in realtà risponda alla domanda originale (con l'immagine alla destra del titolo). È proprio quello di cui avevo bisogno, anche io! –
semplicemente inserire il codice in modo che sarà - (void)viewWillAppear:(BOOL)animated;
funzionare bene e aggiungere un'immagine con dimensioni 320x40 chiamato Top bar
UIImage *image = [UIImage imageNamed: @"TopBar.png"];
[self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];
Grande, grazie per la risposta! – edzio27
Basta scrivere il proprio barra di navigazione. Pertanto è necessario disattivare il pugno barra di navigazione:
disattivare la barra in alto nel costruttore di interfaccia selezionando il controller di navigazione in Storyboard: Attributi -> simulati Metriche -> Top Bar: selezionare Nessuno
Successivamente è possibile aggiungere qualsiasi HeaderView ti piace ...
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, sFrame.size.width, 100)];
UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"header_image.png"]];
self.headerView.backgroundColor = background;
// ...add buttons and labels
[self.view addSubview:headerView];
ho incontrato lo stesso problem.Found la soluzione migliore
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"background_image.png"] forBarMetrics:UIBarMetricsDefault];
Spero che questo possa essere d'aiuto ...
- 1. Colore pulsante nella barra di navigazione - iPhone
- 2. Come aggiungere la barra di ricerca nella barra di navigazione per iphone?
- 3. Titolo iPhone e sottotitoli nella barra di navigazione
- 4. iPhone: Impostazione barra di navigazione Titolo
- 5. IPHONE: ABPeoplePickerNavigationController barra di navigazione nascosta
- 6. iPhone: pulsante Aggiungi informazioni come elemento pulsante barra destra nella barra di navigazione nel codice
- 7. Come aggiungere il pulsante Barra nella barra di navigazione senza controller di navigazione.
- 8. cambia colore nella barra di navigazione
- 9. Come posso inserire un pulsante "info" nella barra di navigazione di iPhone?
- 10. Come aggiungere il pulsante destro nella barra di navigazione?
- 11. Come fare una barra di navigazione trasparente e fade out come nella foto applicazione in iPhone
- 12. Elemento del pulsante Barra non visualizzato nella barra di navigazione
- 13. Come espandere l'elenco di navigazione nella barra delle azioni?
- 14. Come disattivare il pulsante Indietro nella barra di navigazione
- 15. Moodle - come aggiungere pagine/elementi nella barra di navigazione
- 16. come creare il pulsante Indietro nella barra di navigazione
- 17. Pulsante nella barra di navigazione nella barra delle schede UIViewController non mostra
- 18. Come rendere barra di navigazione come Instagram
- 19. rightBarButtonItem non appare nella barra di navigazione iOS
- 20. Barra di navigazione trasparente bootstrap
- 21. Come visualizzare l'icona nella barra del titolo di QDockWidget?
- 22. Barra di navigazione Titolo Dimensione carattere
- 23. Barra di navigazione multilinea Titolo
- 24. UISegmentedControl nella barra di navigazione con il pulsante Indietro
- 25. Bootstrap Spazio CSS tra i pulsanti nella barra di navigazione
- 26. Titoli non visualizzati nella barra di navigazione ViewControllers
- 27. Pulsante indietro personalizzato sulla barra di navigazione
- 28. com.android.support:design:24.1.0 non veniva visualizzato correttamente nella barra di navigazione
- 29. Allineamento del logo e del testo nella barra di navigazione
- 30. Inserire un collegamento nella barra di navigazione in splendente
Non credo che tu voglia fare questo. Invece di creare una semplice immagine 32x32 (per esempio) accanto al testo (estremamente facile da disegnare), stai creando un'immagine molto più grande. Ma sì, questa è sicuramente un'opzione. –
Ho disegnato un'immagine 23x23, ma non so come visualizzarla nella barra di navigazione. Potresti farcelo sapere? – ebaccount
Non è necessario sostituire la vista del titolo, è possibile creare un UIImageView, caricare l'immagine dell'icona e aggiungerla come figlio della vista del titolo. Usa la proprietà frame di UIImageView per posizionarlo dove vuoi. –