J'essaye de changer la flèche du bouton retour
J'utilise actuellement ce qui suit pour contrôler la taille du texte ainsi que la couleur du texte sur le bouton de retour:
[[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];
mais si je veux changer uniquement la couleur de la flèche pour le bouton de retour, que dois-je faire?
UINavigationBar
a changé depuis iOS 7. Jetez un œil à la réponse pour voir également l'effet de certaines autres propriétés .Réponses:
Pour changer la couleur du chevron du bouton de retour pour un contrôleur de navigation spécifique *:
* Si vous utilisez une application avec plus d'un contrôleur de navigation et que vous souhaitez que cette couleur de chevron s'applique à chacun, vous pouvez utiliser le proxy d'apparence pour définir le chevron du bouton de retour pour chaque contrôleur de navigation, comme suit:
Et pour faire bonne mesure, en rapide (merci à Jay Mayu dans les commentaires):
la source
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
Vous devez définir le tintColor de l'ensemble de l'application.
Ou dans Swift 3:
Source: Guide de transition de l'interface utilisateur iOS 7
la source
UITextField
. Certainement pas recommandé.Vous pouvez définir la couleur sur toute la barre de navigation de l'application à l'aide de la méthode
la source
Il est possible de changer uniquement la couleur de la flèche (pas la couleur du titre du bouton de retour) de cette manière:
La barre de navigation contient une sous-vue du type _UINavigationBarBackIndicatorView (dernier élément du tableau des sous-vues) qui représente la flèche.
Le résultat est une barre de navigation avec différentes couleurs de flèche du bouton de retour et de titre du bouton de retour
la source
self.navigationController.navigationBar.subviews
jusqu'à ce que le bouton Précédent soit trouvé.Si vous utilisez des storyboards, vous pouvez définir la couleur de teinte de la barre de navigation.
la source
À l'intérieur du rootViewController qui initialise le navigationController, j'ai mis ce code dans ma méthode viewDidAppear:
la source
Dans iOS 6, tintColor a teinté l'arrière-plan des barres de navigation, des barres d'onglets, des barres d'outils, des barres de recherche et des barres d'étendue. Pour teinter un arrière-plan de barre dans iOS 7, utilisez plutôt la propriété barTintColor.
Ressources de conception iOS 7 Guide de transition de l'interface utilisateur iOS 7
la source
Vous pouvez définir la
tintColor
propriété sur le bouton (ou l'élément de bouton de barre) ou la vue du contrôleur de vue. Par défaut, la propriété héritera de la teinte de la vue parente, jusqu'au niveau supérieurUIWindow
de votre application.la source
J'ai dû utiliser les deux:
Et ça marche pour moi, merci pour tout le monde!
la source
la source
Mettre à jour Swift 3
Résultat:
la source
Juste pour changer la
NavigationBar
couleur, vous pouvez définir la couleur de teinte comme ci-dessous.la source
Si vous créez un bouton de retour personnalisé basé sur UIButton avec une image de flèche, voici l'extrait de sous-classe. En l'utilisant, vous pouvez créer un bouton dans le code ou simplement attribuer une classe dans Interface Builder à n'importe quel UIButton. L'image de flèche arrière sera ajoutée automatiquement et colorée avec la couleur du texte.
la source
Si vous souhaitez modifier uniquement la flèche arrière MAIS sur l'ensemble de l'application, procédez comme suit:
la source
Dans iOS 7, vous pouvez insérer la ligne de code suivante
application:didFinishLaunchingWithOptions:
dans votreAppDelegate.m
fichier:Définissez
myColor
la couleur que vous souhaitez que le bouton de retour soit dans toute l'application. Pas besoin de le mettre dans chaque fichier.la source
Swift 2.0: Coloration de la barre de navigation et des boutons
la source
Dans Swift 3, pour changer la couleur de la flèche du bouton de retour UIBarButton
la source