Ich habe mehrere View Controller und möchte die Schriftfarbe aller auf Rot setzen.
[[UINavigationBar appearance] setFont:[UIFont boldSystemFontOfSize:12.0]];
löst einen nicht erkannten Auswahlfehler aus.
Wie kann ich das beheben?
ios5
uinavigationbar
uiappearance
carbonr
quelle
quelle
Antworten:
Von Ray Wenderlich:
http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5
Oder wenn Sie mit dem Objektliteralstil bevorzugen:
Bearbeiten Sie für iOS 7 und folgende
UITextAttributes sind veraltet, da iOS 7 Folgendes verwenden kann:
quelle
if ([navBarInstance respondsToSelector:@selector(appearance)])
zuerst zu tun, da iOS-Versionen unter 5 abstürzen.UITextAttributeTextColor
ist zugunsten vonNSForegroundColorAttributeName
iOS 7Für Bereitstellungsziele, die größer oder gleich iOS 6 sind, sollten Sie
NSShadow
stattdessen Folgendes verwenden :quelle
Dies geschieht unter iOS 8+ und in Swift. Es gibt kein
setTitleTextAttributes
Objekt für das Erscheinungsbild. Tun Sie stattdessen Folgendes:quelle
Dazu habe ich der AppDelegate.m-Klasse nur wenige Codezeilen hinzugefügt. DidFinishLaunchingWithOptions-Methode: Verwenden Sie diesen Code:
Für mich geht das...
quelle
Wenn Sie dies in Swift tun müssen, können Sie eine Erweiterung für die UINavigationBar erstellen, damit Sie diese Einstellungen abrufen oder festlegen können.
Sie können dann die Farbe und Schriftart wie folgt einstellen:
quelle
titleColor
odertitleFont
einzeln verwenden. Wenn Sie sie zusammen verwenden,self.titleTextAttributes
wird bei jedem Aufruf einer der Variablen ein neuer Wert festgelegt. Der Setter könnte wahrscheinlich den anderen Wert erhalten, wenn er das neue Wörterbuch erstellt.Dies kann verwendet werden, um eine benutzerdefinierte Ansicht auf eine einzelne Navigationsleiste anstelle einer globalen Einstellung festzulegen
quelle
Verwenden Sie diese Codezeile
Ich denke, das wird für Sie hilfreich sein.
quelle