2013-10-06 11 views
5

Próbuję ustawić obraz UINavigationBar tła:ios7 UINavigationBar backgroundImage jest ustawiony do góry nogami

dodałem AppDelegate: (proszę zauważyć, że jest to jeden obraz)

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

Ponieważ nie muszę przezroczyste, w ViewController w viewDidLoad I dodaje:

self.navigationController.navigationBar.translucent = NO; 

to obraz: enter image description here

Niestety to co mam: enter image description here

Jak widać, obraz jest Upsite dół.

Co jest nie tak?

W serii ujęć, ustawić miejsce TopBar - nieprzezroczyste pasek nawigacyjny

+3

Dla mnie to wygląda bardziej jak to jest przesunięty w dół (a kolor na szczycie wypełnił pozostały obszar). Spróbuj wykonać to do góry nogami - dolna część wydaje się ciemniejsza (i nie jest jaśniejsza, jak na zdjęciu). – AbdullahC

+0

Drugi obraz nie jest dokładnie taki sam. – ipinak

+0

To jedno zdjęcie. Nie jestem pewien, co się tam stało. – Dejell

Odpowiedz

13

Dla iOS 7 trzeba użyć 320x64 rozmiar Pasek nawigacyjny obraz

+0

W moim przypadku wystąpiły 2 problemy, 1. Używałem tylko 2x rozmiaru, 2 Używałem nazwy obrazu jako "detailNavBariPad @ 2x" w moim kodzie, łącznie z 2x. Nazwa obrazu w kodowaniu nie powinna mieć dwa razy w nazwie. – Mashhadi

+0

jaki jest wymiar obrazu? –

2

zrobić obraz 2X Size. z nazwą [email protected]

Pasek nawigacji ma rozmiar swojego rozmiaru paska stanu. Można utworzyć tylko rozmiar NavBar

640X88

lub 640X128 na pasku nawigacyjnym + pasku stanu

Następnie

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