Setzen Sie den Navigationsleistenhintergrund auf eine feste Farbe

8

Gibt es eine Möglichkeit, den Hintergrund der Navigationsleiste von UINavigationController auf eine feste Farbe zu setzen?

Ich weiß, dass ich die Tönungsfarbe ändern kann, aber das lässt mich immer noch mit dem Farbverlauf / Glaseffekt.

Irgendwie kann ich das loswerden und habe einfach eine normale alte Farbe?

    
MartinHN 24.04.2012, 17:54
quelle

5 Antworten

5

Ich denke, Sie müssen UINavigationBar ableiten und -(void)drawRect:(CGRect)rect überschreiben:

%Vor%     
Jonathan Naguin 24.04.2012, 18:43
quelle
46

Der folgende Code führt auch zur Vollfarbe der Navigationsleiste:

%Vor%     
Lubiluk 21.03.2013 16:18
quelle
0

Ich habe die drawRect-Methode und die Füllfarbe überschrieben; aber nach iOS7-Upgrade verursacht es einige Probleme in UINavigationBar. Wenn Sie Ihre eigene Methode zeichnen, selbst wenn Sie [super drawRect] aufrufen, ändert sich die Bemaßung der Leiste und Sie erhalten eine Navigationsleiste mit einer Höhe von 44 Pixeln. Die Statusleiste ist leer.

Um eine vollfarbige navigationBar zu erhalten, habe ich ein Bild als Hintergrundbild verwendet (jedes kleine einfarbige Bild reicht aus, wenn Sie es dehnen) und fügte diese Zeilen innerhalb der initWithFrame-Methode der UINavigationBar-Unterklasse hinzu:

%Vor%     
Yunus Nedim Mehel 17.02.2014 14:20
quelle
0

Der folgende Code funktionierte für mich:

%Vor%     
Mingming 30.12.2015 11:16
quelle
-4

Erstellen Sie einen CustomUIViewController , der UIViewController erweitert, und überschreiben Sie viewDidLoad in etwa so:

%Vor%

Danach verwenden Sie Ihren CustomUIViewController in Ihren Controllern.

Danksagungen

    
kcho0 24.04.2012 18:18
quelle

Tags und Links