11
votes

Barre d'état IOS7 sur la barre de navigation

Je teste ma candidature avec iOS7 et j'ai un problème avec la barre d'état. Fondamentalement, la barre d'état apparaît sur la barre de navigation comme l'image ci-dessous:

numéro de barre d'état IOS7

J'essaie d'appeler mon ViewDidLoad xxx

sans succès.

J'ai également ajouté au info.plist fichier uivievistrollerbasedstatusbarappearance sans chance.

Le problème principal est que l'application doit être compatible avec iOS6 et iOS7 et actuellement sur iOS7 la vue décalée 20px du haut.


8 commentaires

@Scott: Meta. stackexchange.com/questions/94465/...


Vous utilisez probablement une barre de navigation translucide


J'ai aussi cette question Stackoverflow.com/questions/18737186/... qui après avoir lu la réponse ci-dessous de Aaron m'a donné une idée et cela a fonctionné. Postera ma réponse ci-dessous


Pouvez-vous utiliser le noir translucide sur votre barre d'état?


J'ai également eu le même problème tout en fournissant la construction au client. Je compile un projet utilisant Xcode 4.6 et installé le même IPA sur iOS 7 Device. Le client était heureux avec la solution :)


@Akshaynalawade et que se passe-t-il lorsque vous commencez à faire vos constructions en utilisant Xcode 5, vous aurez toujours le même problème. Ce n'est pas une solution, vous ne faites que retarder le résultat général qui devra arriver plus tôt plus tard.


Ce n'est pas vraiment un problème car il s'agit du nouveau design iOS7. Il est censé apparaître sous la barre d'état. Tout ce que vous avez à faire est d'augmenter la taille de votre barre de navigation sur iOS7. Pour mes applications, rien d'IOS6 et au-dessous des barres de navigation sont définis sur quelque chose comme 44 et sur iOS7, il est prêt à quelque chose comme 64.


Ce que j'ai suggéré était une solution temporaire. Nous allons commencer à effectuer une application UI IOS 7 et IOS 6 compatible avec la définition de «Delta» pour chaque contrôleur. Pour l'instant, je n'ai aucune autre solution. partagera si je suis venu sur n'importe quoi.


4 Réponses :


9
votes

EdgesForxtectudeLayout et automatiquementAdJustsSscrollviewInsets ne sont que des normes pour la manière dont les contrôleurs de vue parent ont porté / gèrent la vue. On dirait que vous utilisez une barre d'UINAVIGATION, mais pas une uoinavigationController, ce qui signifie que ces propriétés ne feront rien si vous ne les codez pas.

Vous pouvez basculer pour utiliser une uoinavigationController, ou vous pouvez modifier programmatiquement la hauteur de votre barre d'utilisation de 44 à 64 sur iOS 7.


0 commentaires

5
votes

Ajoutez une prise à la barre d'UINAVIGATION.

float currentVersion = 7.0;

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= currentVersion) {
    // iOS 7
    self.navBar.frame = CGRectMake(self.navBar.frame.origin.x, self.navBar.frame.origin.y, self.navBar.frame.size.width, 64);
}


2 commentaires

Après quelques tests, j'ai décidé de cacher la barre d'état dans iOS7


C'est ce que j'ai fait aussi. Assurez-vous de le faire pour iOS7, afficher l'apparence de barre d'état basée sur le contrôleur = non, dans le plat.



0
votes

C'est le problème le plus important avec iOS 7 et il existe de nombreuses solutions pour résoudre ce problème, mais à mon avis, la meilleure façon de résoudre est de supprimer la barre de navigation et d'intégrer votre contrôleur d'affichage dans un contrôleur de navigation en allant à l'éditeur > Intégrer le contrôleur de navigation.


0 commentaires

0
votes

Ajouter des contraintes de l'espace supérieur au guide de la disposition supérieure

 Entrez la description de l'image ici


0 commentaires