Ich versuche, den Pfeil der Zurück-Taste zu ändern
Ich verwende derzeit Folgendes, um die Textgröße sowie die Textfarbe auf der Zurück-Schaltfläche zu steuern:
[[UIBarButtonItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], UITextAttributeTextColor,
[UIFont boldSystemFontOfSize:16.0f], UITextAttributeFont,
[UIColor darkGrayColor], UITextAttributeTextShadowColor,
[NSValue valueWithCGSize:CGSizeMake(0.0, -1.0)], UITextAttributeTextShadowOffset,
nil] forState:UIControlStateNormal];
Was soll ich tun, wenn ich nur die Farbe des Pfeils für die Zurück-Schaltfläche ändern möchte?
UINavigationBar
hat sich gegenüber iOS 7 geändert. Sehen Sie sich die Antwort an, um die Auswirkungen einiger anderer Eigenschaften zu sehen .Antworten:
So ändern Sie die Chevron-Farbe der Zurück-Taste für einen bestimmten Navigationscontroller *:
* Wenn Sie eine App mit mehr als einem Navigationscontroller verwenden und möchten, dass diese Chevron-Farbe auf jeden angewendet wird, können Sie den Erscheinungsbild-Proxy verwenden, um den Chevron der Zurück-Schaltfläche für jeden Navigationscontroller wie folgt festzulegen:
Und für ein gutes Maß schnell (danke an Jay Mayu in den Kommentaren):
quelle
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
Sie müssen die tintColor der gesamten App einstellen.
Oder in Swift 3:
Quelle: iOS 7 UI Transition Guide
quelle
UITextField
. Auf keinen Fall zu empfehlen.Mit dieser Methode können Sie die Farbe in der gesamten Navigationsleiste der App festlegen
quelle
Auf diese Weise können Sie nur die Farbe des Pfeils (nicht die Farbe des Titels der Zurück-Schaltfläche) ändern:
Die Navigationsleiste enthält eine Unteransicht vom Typ _UINavigationBarBackIndicatorView (letztes Element im Array der Unteransichten), die den Pfeil darstellt.
Ergebnis ist eine Navigationsleiste mit verschiedenen Farben des Pfeils der Zurück-Taste und des Titels der Zurück-Taste
quelle
self.navigationController.navigationBar.subviews
bis die Schaltfläche "Zurück" gefunden wird.Wenn Sie Storyboards verwenden, können Sie die Farbfarbe der Navigationsleiste festlegen.
quelle
Im rootViewController, der den Navigationscontroller initialisiert, habe ich diesen Code in meine viewDidAppear-Methode eingefügt:
quelle
In iOS 6 hat tintColor den Hintergrund von Navigationsleisten, Registerkartenleisten, Symbolleisten, Suchleisten und Bereichsleisten getönt. Verwenden Sie stattdessen die Eigenschaft barTintColor, um einen Balkenhintergrund in iOS 7 zu tönen.
iOS 7-Designressourcen iOS 7 UI-Übergangshandbuch
quelle
Sie können die
tintColor
Eigenschaft für die Schaltfläche (oder das Balkenschaltflächenelement) oder die Ansicht des Ansichtscontrollers festlegen . Standardmäßig erbt die Eigenschaft den Farbton von der übergeordneten Ansicht bis zur obersten EbeneUIWindow
Ihrer App.quelle
Ich musste beide verwenden:
Und arbeitet für mich, danke für alle!
quelle
quelle
Aktualisieren Sie Swift 3
Ergebnis:
quelle
Um die
NavigationBar
Farbe zu ändern , können Sie die Farbtonfarbe wie unten einstellen.quelle
Für den Fall, dass Sie eine benutzerdefinierte Zurück-Schaltfläche basierend auf UIButton mit Pfeilbild erstellen, finden Sie hier das Unterklassen-Snippet. Mit dieser Funktion können Sie entweder eine Schaltfläche im Code erstellen oder einer beliebigen UIButton-Klasse im Interface Builder eine Klasse zuweisen. Zurück Pfeil Bild wird automatisch hinzugefügt und mit Textfarbe gefärbt.
quelle
Wenn Sie nur den Zurückpfeil ABER in der gesamten App ändern möchten, gehen Sie folgendermaßen vor:
quelle
In iOS 7 können Sie die folgende Codezeile
application:didFinishLaunchingWithOptions:
in IhreAppDelegate.m
Datei einfügen :Stellen Sie
myColor
die Farbe ein, die die Zurück-Schaltfläche in der gesamten App haben soll. Sie müssen es nicht in jede Datei einfügen.quelle
Swift 2.0: Farbnavigationsleiste und Schaltflächen
quelle
In Swift 3 können Sie die Pfeilfarbe der UIBarButton-Zurück-Schaltfläche ändern
quelle