Wie ändere ich die Farbe der Navigationsleiste in iOS 7?
Grundsätzlich möchte ich so etwas wie die Twitter Nav Bar erreichen (dafür ist Twitter aktualisiert iOS7
). Ich habe in eine Navigationsleiste auf einem eingebettet view controller
. Ich möchte nur die Farbe der Navigationsleiste in Hellblau ändern, zusammen mit der Utility-Leiste oben. Ich kann anscheinend keine Option in meinem finden storyboard
.
ios
ios7
storyboard
uikit
uinavigationbar
Patricio Guerra
quelle
quelle
Antworten:
Das Verhalten von
tintColor
für Balken hat sich in iOS 7.0 geändert. Der Hintergrund der Leiste wird nicht mehr beeinflusst.Aus der Dokumentation:
barTintColor- Klassenreferenz
Die Farbtonfarbe, die auf den Hintergrund der Navigationsleiste angewendet werden soll.
Diskussion
Diese Farbe ist standardmäßig durchscheinend, es sei denn, Sie setzen die durchscheinende Eigenschaft auf
NO
.Verfügbarkeit
Verfügbar in iOS 7.0 und höher.
In UINavigationBar.h deklariert
Code
Wir können dies auch verwenden, um die iOS-Version zu überprüfen, wie im iOS 7 UI Transition Guide erwähnt
EDIT Mit xib
quelle
Mit dem Interface Builder in Xcode ist es sehr einfach, das zu tun, was in der ursprünglichen Frage gestellt wurde - um das Aussehen der alten Navigationsleiste von Twitter mit blauem Hintergrund und weißem Text zu erhalten.
Das sollte dir bringen, was du willst. Hier ist ein Screenshot, mit dem Sie leichter erkennen können, wo die Änderungen vorgenommen werden müssen.
Beachten Sie, dass durch Ändern nur der Balkentönung die Textfarbe in der Navigationsleiste oder der Statusleiste nicht geändert wird. Der Stil muss ebenfalls geändert werden.
quelle
Default
undBlack
in iOS 9. Die veralteten diejenigen noch verfügbar sindBlackOpaque
undBlackTranslucent
, die durch eine Kombination ersetzt wurdenBlack
Stil und die Durchlässiger tick-box. UIBarStyle auf Apples Entwickler-Websitequelle
In einer navigationsbasierten App können Sie den Code in AppDelegate einfügen. Ein detaillierterer Code könnte sein:
quelle
[[UINavigationBar appearance] setBarTintColor:[UIColor barColor]];
für iOS 7In
viewDidLoad
, setze:Ändern Sie (
blueColor
) in die gewünschte Farbe.quelle
Für eine schnelle Änderung der Farbe der Navigationsleiste:
Titel, Schriftgröße, Farbe ändern:
quelle
In iOS 7 müssen Sie die Eigenschaft -barTintColor verwenden:
quelle
Wenn Sie einen Hex-Code verwenden möchten, ist dies der beste Weg, dies zu tun.
Definieren Sie dies zunächst oben in Ihrer Klasse:
Fügen Sie dann in die "Anwendung didFinishLaunchingWithOptions" Folgendes ein:
Setzen Sie Ihren Hex-Code anstelle von 00b0f0 ein.
quelle
Wenn Sie ios6 und ios7 unterstützen müssen, erhalten Sie dieses spezielle Hellblau, indem Sie dies in Ihrem UIViewController verwenden :
quelle
Es ist tatsächlich einfacher als die Antworten, die ich hier gesehen habe:
Ich hoffe das hilft jemandem. Die Antworten, die ich sah, gefielen mir nicht. Ich möchte meinen Code so sauber wie möglich halten. Ich sage nicht, dass es falsch ist, es programmatisch zu tun, aber es gibt Leute wie mich da draußen ... das ist für euch.
quelle
Um den Code von Rajneesh071 zu vervollständigen, möchten Sie möglicherweise auch die Titelfarbe (und gegebenenfalls die Schriftart) der Navigationsleiste festlegen, da sich das Standardverhalten von iOS 6 auf 7 geändert hat:
quelle
Fügen Sie nur diesen Code in Ihre
ViewContorller
oder in IhreAppDelegate
quelle
quelle
In einer navigationsbasierten Anwendung können Sie die Farbe ändern
quelle
quelle
Diese Frage und diese Antworten sind hilfreich. Mit ihnen konnte ich mein gewünschtes Dunkelblau einstellen
navigationBar
Farbe mit weißem Titel und Schaltflächentext .Aber ich musste auch die Uhr, den Träger, die Signalstärke usw. auf Weiß ändern. Schwarz kontrastierte einfach nicht genug mit dem Dunkelblau.
Vielleicht habe ich übersehen , dass die Lösung in eines der vorhergehenden Antworten, aber ich war in der Lage zu machen , dass der Wandel durch diese Linie zu meinem Top - Level - Zugabe
viewController
‚sviewDidLoad
:quelle
UIStatusBarStyleLightContent
funktioniert, aber es scheint die richtige Aufzählung fürsetBarStyle:
istUIBarStyleBlack
quelle
Für Farbe:
Für Bild
quelle