Comment changer la couleur de la barre de navigation dans iOS 7?
Fondamentalement, je veux réaliser quelque chose comme la barre de navigation Twitter (Twitter mis à jour pour iOS7
cela). J'ai intégré une barre de navigation au sommet d'un view controller
. Tout ce que je veux, c'est changer la couleur de la barre de navigation en bleu clair avec la barre utilitaire en haut. Je n'arrive pas à trouver une option dans mon storyboard
.
ios
ios7
storyboard
uikit
uinavigationbar
Patricio Guerra
la source
la source
Réponses:
Le comportement de
tintColor
for bars a changé dans iOS 7.0. Il n'affecte plus l'arrière-plan de la barre.De la documentation:
Référence de la classe barTintColor
La couleur de teinte à appliquer à l'arrière-plan de la barre de navigation.
Discussion
Cette couleur est rendue translucide par défaut, sauf si vous définissez la propriété translucent sur
NO
.Disponibilité
Disponible dans iOS 7.0 et versions ultérieures.
Déclaré dans
UINavigationBar.h
Code
Nous pouvons également l'utiliser pour vérifier la version iOS comme mentionné dans le Guide de transition de l'interface utilisateur iOS 7
EDIT En utilisant xib
la source
Faire ce que la question d'origine demandait - pour obtenir l'ancien look de la barre de navigation de Twitter, fond bleu avec du texte blanc - est très facile à faire en utilisant simplement le générateur d'interface dans Xcode.
Cela devrait vous procurer ce que vous voulez. Voici une capture d'écran qui permettrait de voir plus facilement où apporter les modifications.
Notez que la modification de la seule teinte de la barre ne modifie pas la couleur du texte dans la barre de navigation ou la barre d'état. Le style doit également être changé.
la source
Default
etBlack
sont toujours disponibles dans iOS 9. Les obsolètes sontBlackOpaque
etBlackTranslucent
, qui ont été remplacés par une combinaison deBlack
style et de la case à cocher Translucent. UIBarStyle sur le site Web des développeurs d'Applela source
Dans une application basée sur la navigation, vous pouvez mettre le code dans AppDelegate. Un code plus détaillé pourrait être:
la source
[[UINavigationBar appearance] setBarTintColor:[UIColor barColor]];
pour iOS 7Dans
viewDidLoad
, définissez:Changez (
blueColor
) pour la couleur que vous souhaitez.la source
Pour changer rapidement la couleur de la barre de navigation:
changer la police du titre, la taille, la couleur:
la source
Dans iOS 7, vous devez utiliser la propriété -barTintColor:
la source
Si vous souhaitez utiliser un code hexadécimal, voici la meilleure façon de le faire.
Tout d'abord, définissez-le en haut de votre classe:
Puis à l'intérieur de "l'application didFinishLaunchingWithOptions", mettez ceci:
Mettez votre code hexadécimal à la place du 00b0f0.
la source
Si vous devez prendre en charge ios6 et ios7, vous obtenez ce bleu clair particulier en l'utilisant dans votre UIViewController :
la source
C'est en fait plus facile que les réponses que j'ai vues ici:
J'espère que cela aide quelqu'un. Je n'ai pas aimé les réponses que j'ai vues. J'aime garder mon code aussi propre que possible. Je ne dis pas que c'est mal de le faire par programme, mais il y a des gens comme moi ... c'est pour vous les gars.
la source
Pour compléter le code de Rajneesh071, vous pouvez également définir la couleur du titre de la barre de navigation (et la police, si vous le souhaitez) car le comportement par défaut est passé d'iOS 6 à 7:
la source
Ajoutez seulement ce code dans votre
ViewContorller
ou dans votreAppDelegate
la source
la source
Dans une application basée sur la navigation, vous pouvez changer de couleur
la source
la source
Cette question et ces réponses sont utiles. Avec eux, j'ai pu définir le bleu foncé souhaité
navigationBar
avec le titre blanc et le texte du bouton.Mais j'avais aussi besoin de changer l'horloge, la porteuse, la puissance du signal, etc. en blanc. Le noir ne contrastait pas assez avec le bleu foncé.
Je peux avoir négligé cette solution dans l' une des réponses précédentes, mais j'ai pu faire ce changement en ajoutant cette ligne à mon niveau supérieur
viewController
deviewDidLoad
:la source
UIStatusBarStyleLightContent
fonctionne, mais il semble que l'énumération correcte poursetBarStyle:
estUIBarStyleBlack
la source
Pour la couleur:
Pour l'image
la source