2013-10-06 2 views
5

Sto cercando di impostare l'immagine UINavigationBar di sfondo:iOS7 UINavigationBar BackgroundImage è impostato a testa in giù

ho aggiunto in AppDelegate: (si prega di notare che si tratta di una sola immagine)

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"general-top_bar_with_status.png"] forBarMetrics:UIBarMetricsDefault]; 

Dal momento non ho bisogno traslucido, nel ViewController in viewDidLoad ho aggiunto:

self.navigationController.navigationBar.translucent = NO; 

Questa è l'immagine: enter image description here

Purtroppo questo è ciò che ottengo: enter image description here

Come si può vedere, l'immagine è upsite verso il basso.

Cosa c'è che non va?

In storyboard, ho fissato un posto per topbar - Opaco barra di navigazione

+3

A me, sembra più simile è spostato verso il basso (e il colore sulla parte superiore ha riempito la restante area). Prova a farlo capovolto - la parte inferiore appare più scura (e non più chiara come appare nell'immagine). – AbdullahC

+0

La seconda immagine non è esattamente la stessa. – ipinak

+0

È un'immagine. Non sono sicuro di cosa sia successo lì – Dejell

risposta

13

Per iOS 7 bisogna usare 320x64 immagine barra di navigazione dimensioni

+0

Nel mio caso ci sono stati 2 problemi, 1. Stavo usando solo 2x dimensioni, 2 Stavo usando il nome dell'immagine come "detailNavBariPad @ 2x" nel mio codice incluso con 2x. Il nome dell'immagine nella codifica non dovrebbe avere 2x nel nome. – Mashhadi

+0

qual è la dimensione dell'immagine? –

2

make immagine 2X Size. con nome [email protected]

La barra di navigazione sta prendendo la dimensione della dimensione della barra di stato di se stesso +. Si può solo creare dimensione barra di navigazione

640X88

o 640X128 per la barra di stato barra di navigazione +

Poi

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"mynavbar.png"] forBarMetrics:UIBarMetricsDefault];