web-dev-qa-db-fra.com

Comment définir la couleur de la teinte de la barre d'état sur iOS 6?

Comme indiqué dans le discours d'Apple de septembre 2012, la couleur de la teinte de la barre d'état varie entre les applications dans iOS 6. Par exemple, Safari et Maps utilisent une barre d'état noire tandis que Mail lui ajoute une teinte bleue.

Est-il possible de définir cette couleur de teinte, ou au moins de la forcer au noir?

22
Anton Holmquist

Vous pouvez le faire à partir du plist comme la mention Comradsky ou dans xcode 4.5, ils ont ajouté une option pour cela dans le résumé du projet.

enter image description here

Mise à jour:

plusieurs personnes ont été déroutées par cette réponse. Juste pour clarifier, vous ne pouvez pas définir la teinte de la barre d'état sur la couleur de votre choix. Ce qui est décrit ci-dessus consiste uniquement à modifier la teinte de la barre d'état lors du lancement et à choisir le comportement de couleur par défaut de la barre d'état iOS 6 (qui choisit la couleur de la rangée inférieure de pixels de votre barre de navigation).

28
KDaker

Je viens de trouver comment le faire!

  1. Dans votre "Résumé du projet", dans "Barre d'état", réglez "Style" et "Teinte" sur "Par défaut.
  2. Ensuite, sautez dans votre xib ou storyboard et ajoutez un UINavigationBar juste en dessous de la barre d'état.
  3. Réglez le UINavigationBar "Style" sur "Default" et sélectionnez le "Tinting" de votre choix.
  4. Courir! :-)

Si, comme moi, vous ne voulez pas que UINavigationBar soit visible dans votre interface, tout ce que vous voulez faire est de mettre le UINavigationBar derrière tous les objets, ou de mettre "Alpha" à zéro.

11
Geoffroy

Vous pouvez le faire de manière délicate ..

  • Dans le résumé du projet, sélectionnez Style de barre d'état Noir transculent dans le menu déroulant.
  • Dans application: didFinishLaunchingWithOptions: entrez la ligne de code suivante:

    self.window.backgroundColor = [UIColor greenColor]; // exemple de couleur

Ça fonctionne bien pour moi.

7
Vineeth

C'est très facile à faire: il suffit de mettre en place un UINavigationBar dans votre .xib/storyboard, assurez-vous que le style est par défaut. puis ajoutez une teinte. quel que soit le nombre de vues, avec différents UINavigationBar teintés, votre barre d'état changera de couleur.

2
PiView

La couleur de la teinte semble être déterminée par la couleur moyenne de la rangée de pixels inférieure de la barre d'en-tête de l'application.

Voir ici: http://www.cultofmac.com/173928/how-ios-6s-cool-new-adaptive-status-bar-works/

2
Twilite

Il n'y a aucun moyen dans iOS 5. Vous pouvez simplement changer votre style de barre. Dans iOS 6, vous pouvez le faire dans info.plist:

Il est désormais possible de définir les paramètres de teinte de la barre d'état dans le fichier Info.plist de votre application. Vous pouvez le faire pour vous assurer que la couleur de la barre d'état correspond à la couleur de la barre de navigation de votre application au démarrage. Pour définir la teinte de la barre d'état, ajoutez la clé UIStatusBarTintParameters à votre fichier Info.plist. La valeur de cette clé est un dictionnaire avec les valeurs appropriées décrivant la barre de navigation de votre application au démarrage. Le dictionnaire doit contenir la clé UINavigationBar, dont la valeur est également un dictionnaire. Ce dictionnaire contient le style initial de la barre de navigation (avec la touche Style) et s’il est translucide (avec la touche Translucent). Si votre barre de navigation les utilise, vous pouvez également spécifier sa couleur de teinte (avec la touche TintColor) ou le nom de son image d'arrière-plan personnalisée (avec la touche BackgroundImage).

Consultez ce lien ici Modifier: Vous pouvez également le faire dans le résumé du projet.

1
Comradsky