J'ai lu le Human Interface Guidelines for pour iPhone X et il n'est pas indiqué explicitement la "zone de sécurité" (zone réservée à la fois à l'encoche supérieure et à la barre inférieure de l'iPhone X). J'aimerais connaître les dimensions en pixels de cette région, y compris les dimensions supprimées du haut et du bas.
En imprimant les encarts de la zone sécurisée de la fenêtre active avec le code suivant, vous pouvez obtenir les dimensions ponctuelles de la zone sécurisée supérieure et inférieure.
if #available(iOS 11.0, *) {
UIApplication.shared.keyWindow?.safeAreaInsets
// ...
}
En portrait, la zone supérieure est 44 points longue et la zone inférieure est 4 points de longueur.
Étant donné que la résolution de l'iPhone X est @ 3x, la zone supérieure est 132 pixels longue et la zone inférieure est 102 pixels en longueur.
Xcode 9 a introduit des guides de disposition des zones sûres dans le constructeur d'interface. Vous pouvez les activer en accédant à l'inspecteur de fichiers de votre story-board et en cochant la case "Utiliser les guides de présentation de la zone sécurisée"
À partir de là, chaque fois que vous ajoutez des contraintes à votre vue racine, vous avez la possibilité de la limiter à la zone de sécurité. Sur cette photo , la vue en orange est limitée aux bords de la zone de sécurité, tandis que la vue en bleu est limitée aux bords de la vue supérieure.
À partir de là, nous pouvons calculer que 44 points ont été utilisés pour la zone de sécurité supérieure et 34 points pour la zone de bas.
Vous pouvez l'obtenir à partir de la propriété safeAreaInsets
d'une vue dans un UIViewController
.