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.

enter image description here

42
demandé sur Anbu.karthik 2017-09-13 15:30:31

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

enter image description here

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.

enter image description here

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
69
répondu Anbu.karthik 2018-07-22 23:46:19

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:

enter image description here

19
répondu skensell 2017-11-15 21:13:02

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.

11
répondu Paolo 2017-11-09 21:50:09

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.

6
répondu jkira 2017-11-01 20:01:01

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
5
répondu Andrew Bogaevskyi 2017-11-22 08:30:18

Il n'y a pas de spécification dans Apple Docs

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
4
répondu Harshal Valanda 2017-11-01 20:02:47