J'aimerais connaître la hauteur exacte de la barre supérieure de l'iPhone X. Pourriez-vous s'il vous plaît mentionner la hauteur de la barre d'état et de la barre de navigation de l'iPhone X. S'il vous plaît, aidez-moi.
Réponses
Trop de publicités?L'écran de l'iPhone X, cependant, est 145pt plus grand qu'un 4.7" écran, résultant en environ 20% d'espace vertical supplémentaire pour le contenu.
pour plus d'informations, vous HIG pour iphone X de la pomme de documents et de la description détaillée dans here1 et cliquez ici2
hauteur de la barre d'état
auparavant 20pt, maintenant 44pt
Parce que des capteurs sur le haut de l'écran, la nouvelle barre d'état est divisé en 2 parties. Si votre INTERFACE utilisateur est en train de faire quelque chose de spécial avec qui, l'espace (précédemment 20pt haut, maintenant 44pt), car il sera plus grand sur l'iPhone X. assurez-vous qu'il peut être changé dynamiquement en hauteur. Une grande chose est que la hauteur ne sera pas modifié si un utilisateur effectue un appel téléphonique ou à l'aide d'une application de navigation, qui en était déjà le cas sur d'autres iPhones.
portrait
La barre de Navigation de hauteur normale 88 et grand titre temps 140
- Le titre de Standard - 44pt (88pt avec Barre de Statut)
- Grand titre - 140pt
- en bas de la barre - 34pt
Paysage
- Le titre de Standard - 32 points
- en bas de la barre - 21pt
Vous pouvez obtenir par programme la barre de navigation de la hauteur en utilisant safeAreaInsets
sur le view
dans le contenu de vue-contrôleur:
let navBarHeight = view.safeAreaInsets.top
Cela permettra de tenir compte pour savoir si c'est un grand titre de la barre de navigation ou non, et si oui ou non il y a une barre de recherche attaché à elle.
Voir l' safeAreaInsets
documentation pour plus d'informations.
Vous pouvez utiliser la propriété .frame de la barre de navigation pour déterminer la hauteur totale de la zone de la 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 triche, mais l'ajout de la hauteur de la barre de navigation avec son origine y semble donner la hauteur totale correcte quel que soit l'appareil.