Barre d'état iOS 7 transparente
Dans la table de montage séquentiel, en vue contrôleur, j'ai essayé d'ajouter une barre de navigation sous la barre d'état, en l'exécutant, il est transparent et montre une étiquette qui est censé être floue, comme par barre de navigation.
Mais lors de la passation de la même vue contrôleur embarqué dans une navigation à vue-contrôleur, le dessous de l'image de fond peut être imprécise, ce qui est mon intention.
Ce sont ces deux sens différents résultats? Ce besoin de faire pour la première méthode pour rendre la barre de statut flou?
Merci!
source d'informationauteur S1U
Vous devez vous connecter pour publier un commentaire.
Dans iOS 7, la barre d'état est transparent par défaut. Le flou que vous voyez lorsque il y a également une barre de navigation est en fait créé par la barre de navigation. Ainsi, pour créer l'effet que vous recherchez sans une barre de navigation, vous avez besoin pour positionner un point de vue qui produit un effet de brouillage en dessous de la barre d'état.
De référence, ajouter votre point de vue avec un cadre fourni par:
Je sais que c'est vieux, juste pour la référence, j'ai résolu ce problème en définissant
self.navigationController.navigationBar.clipToBounds = NO
Je n'ai pas testé cette complètement, mais aller à votre fichier plist et vérifiez les paramètres suivants:
"- Vue-contrôleur d'état basé sur l'apparence de la barre": Si cette option est définie sur "Oui", alors il devrait afficher une barre d'état qui est unique pour chaque Vue-Contrôleur, qui pourrait être ce dont vous avez besoin.
"Barre d'état" de style: Vous pouvez la définir à trois différents styles: Opaque noir, le Gris et le noir Transparent.
Laissez-moi savoir si cela a fonctionné pour vous.
UINavigationController va modifier la hauteur de ses UINavigationBar soit 44 points ou 64 points, selon une étrange et sans-papiers ensemble de contraintes. Si le UINavigationController détecte que le haut de son point de vue, l'image est visuellement contiguë avec ses UIWindow du haut, puis il tire de sa barre de navigation avec une hauteur de 64 points. Si sa vue du dessus n'est pas contigu à la UIWindow top (même si par un seul point), puis il tire de sa barre de navigation dans la manière “traditionnelle”, avec une hauteur de 44 points. Cette logique est effectuée par UINavigationController même si c'est plusieurs enfants à l'intérieur de la vue-contrôleur de la hiérarchie de votre application. Il n'existe aucun moyen d'éviter ce problème.
On dirait que vous êtes le positionnement de votre point de vue de la hiérarchie dans le premier exemple de départ au point (0,20). Aussi, est-ce un UIToolbar ou un UINavigationBar? Si c'est le deuxième cas, pourquoi êtes-vous à l'aide en elle-même et ne l'utilisez pas à l'intérieur de UINavigationController?
Si vous n'utilisez pas UINavigationController et sont plutôt à l'aide personnalisée-vue-contrôleur conteneurs, vous aurez besoin de la position de votre point de vue en conséquence.
Voir cette réponse pour une explication détaillée.
J'ai même conception de l'INTERFACE utilisateur et basée sur Matt Hall répondre et certains article j'ai googlé, j'arrive avec quelque chose comme ceci:
Où
self.navBar
points de la barre de navigation ajouté dans la table de montage séquentiel. Cela n'est nécessaire que dans le cas où il s'exécute sur iOS7 c'est pourquoi j'ai ajouté cette condition (mon application doit prendre en charge iOS5).Cela fonctionne comme un charme.
approche alternative (appliquer barre d'état taille) est aussi bon:
J'ai trouvé un autre solution je pense que c'est meilleur depuis ce qu'il comporte des seulement storyboard et aucun code n'est requis.
UINavigationBar
20
la hauteur du delta dans "iOS6/7 Deltas"lorsque vous incorporez-vue-contrôleur de navigation à vue contrôleur de fois où vous verrez la barre de navigation pour tous le point de vue du contrôleur que vous poussant à partir du même point de vue contrôleur. Dans ton premier cas, vous êtes l'ajout de la barre de navigation de l'objet, de la place de cela, vous pouvez sélectionnez vue-contrôleur du storyboard , aller à des attributs de l'inspecteur de l'onglet & de leur sélectionnez barre Supérieure, car translucide barre de navigation.