2013-10-06 9 views
5

Ich versuche, die UINavigationBar Hintergrundbild zu setzen:ios7 UINavigationBar Background wird auf den Kopf gesetzt

I in AppDelegate hinzugefügt: (bitte beachten Sie, dass es ein Bild ist)

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

Da brauche ich nicht durchscheinend, hinzugefügt in dem Viewcontroller in ViewDidLoad I:

self.navigationController.navigationBar.translucent = NO; 

Dies ist das Bild: enter image description here

Leider ist das, was ich bekommen: enter image description here

Wie Sie sehen können, wird das Bild upsite unten ist.

Was ist los?

Im Storyboard, habe ich einen Platz für TopBar - Opaque Navigationsleiste

+3

Für mich sieht es eher wie es nach unten verschoben ist (und die Farbe auf der Oberseite hat die restliche Fläche ausgefüllt). Versuchen Sie, es auf den Kopf zu stellen - der untere Teil erscheint dunkler (und nicht heller, als er in Ihrem Bild erscheint). – AbdullahC

+0

Das zweite Bild ist nicht genau das gleiche. – ipinak

+0

Es ist ein Bild. Nicht sicher, was dort passiert ist – Dejell

Antwort

13

Für iOS 7 Sie haben 320x64 Größe Navigationsleiste Bild

+0

In meinem Fall gab es 2 Probleme, 1. Ich benutzte nur 2x Größe, 2 Ich benutzte Bildname als "DetailNavBariPad @ 2x" in meinem Code einschließlich mit 2x. Bildname in der Codierung sollte nicht 2x in ihrem Namen haben. – Mashhadi

+0

Was ist die Dimension des Bildes? –

2

make Bild 2X Größe zu verwenden. mit dem Namen [email protected]

Die Navigationsleiste nimmt die Größe ihrer Selbst- + Statusleiste an. Sie können Größe nur navbar erstellen

640X88

oder 640X128 für navbar + Statusleiste

Dann

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