Quelle est la hauteur de la barre supérieure de l'iPhone X?
je voudrais connaître la hauteur exacte de la barre supérieure de l'iPhone X. Pourriez-vous s'il vous plaît mentionner les barre d'état et barre de navigation hauteur de l'iPhone X. S'il vous plaît aider moi.
6 réponses
l'affichage sur iPhone X, cependant, est 145pt plus haut qu'un écran de 4,7", ce qui donne environ 20% d'espace vertical supplémentaire pour le contenu.
pour plus d'informations vous obtenez HIG pour iphone X d'apple documents et description de détail ici1 et cliquez ici2
hauteur de la barre d'état
précédemment 20pt, maintenant 44pt
en raison des capteurs sur le dessus de l'écran, la nouvelle barre d'état est divisée en 2 parties. Si votre interface utilisateur fait quelque chose de spécial avec cet espace (auparavant 20PT de haut, maintenant 44pt), parce qu'il sera plus grand sur l'iPhone X. assurez-vous qu'il peut être modifié dynamiquement en hauteur. Une grande chose est que la hauteur ne sera pas changé si un utilisateur fait un appel téléphonique ou utilise une application de navigation, qui était auparavant le cas sur d'autres iPhones.
portrait
hauteur de la barre de Navigation comme d'habitude 88 et en gros titre 140
- le titre de Standard - 44pt (88pt avec Barre d'État)
- grand titre-140pt
- barre du bas - 34pt
Paysage
- titre Standard-32pt
- barre du bas - 21pt
barre de navigation est 44pt comme d'habitude (quand pas de grands titres) et la barre d'état a augmenté de 20pt à 44pt. Voici ce que vous pouvez taper dans le débogueur pour le vérifier:
vous pouvez programmatiquement obtenir la hauteur de la barre de navigation en utilisant safeAreaInsets
sur le view
dans le contrôleur de vue contenue:
let navBarHeight = view.safeAreaInsets.top
ceci expliquera si c'est une barre de navigation de titre large ou non, et s'il y a ou non une barre de recherche attachée à elle.
voir le safeAreaInsets
documentation pour plus d'informations.
Vous pouvez utiliser la barre de navigation .propriété de cadre pour déterminer la hauteur totale de la zone de barre supérieure:
ObjC:
CGRect navbarFrame = self.navigationController.navigationBar.frame;
float topWidth = navbarFrame.size.width;
float topHeight = navbarFrame.size.height + navbarFrame.origin.y;
je suppose que c'est un peu une escroquerie, mais ajouter la hauteur du navbar avec son origine y semble donner la hauteur totale correcte indépendamment de l'appareil.
vous pouvez simplement l'obtenir de la manière suivante (Swift 3):
let barHeight = navigationController?.navigationBar.frame.maxY
Pour obtenir la valeur correcte assurez-vous que vous appelez après la configuration de prefersLargeTitles
navigationController?.navigationBar.prefersLargeTitles = false
Il n'y a pas de spécification dans Apple Docs
Selon Geoff Hackworth 88
types de titres de Navigation:
- titre
- grand titre
augmentation de la barre de navigation dans iOS 11
navigationController?.navigationBar.prefersLargeTitles = true