web-dev-qa-db-fra.com

Obtention d'un espace en bas de l'écran de l'iPhone X (Xcode 9)

J'utilise Xcode 9 pour mon projet et j'obtiens un espace blanc en bas, voici la capture d'écran:

enter image description here

De plus, j'utilise le storyboard pour concevoir avec une disposition de 4 pouces (iphone 5s/SE).

Comment éviter l'espace blanc?

40
Harish

Votre bottom constraints devrait provenir de view et non de bottom layout guide ou safe area (spécifique à xcode 9) et votre distance devrait être égale à zéro.

Par défaut, il a été épinglé avec layout guides, alors donnez-le avec view!

Reportez-vous ci-dessous capture d'écran pour une meilleure compréhension,

enter image description here

pour ouvrir cette boîte de dialogue, cliquez sur l’icône déroulante du champ contient 0!

Vous pouvez faire la même chose pour top constraint aussi!

Mise à jour:

Deuxième point important

vous devriez utiliser le storyboard pour votre lancement ou votre écran de démarrage. Si vous utilisez une image de lancement, remplacez-la par la nouvelle image de lancement de xcode 9 et il a l'option pour l'image de l'iphone x.

Ensuite, vous ne trouverez plus d’espace blanc!

Voir ci-dessous capture d'écran.

enter image description here

95
Lion

Cet espace blanc est votre vue principale. Si vous souhaitez que votre vue d'image remplisse toute la zone, épinglez-la avec 0 espace dans la vue supérieure, et non dans le Guide de mise en page du bas ou dans la zone sécurisée. Pour ce faire, sélectionnez pour afficher la scène dans le storyboard sous forme de iPhone X et épinglez la vue d'image comme suit:

enter image description here

Il est également possible d’épingler le bas de la vue d’image sur superview en mode iPhone X: lorsque vous épinglez en faisant glisser avec Ctrl, lorsque la liste des constances apparaît, appuyez sur la touche Option (alt) et vous verrez "Espace inférieur à la marge du conteneur". ".

19
jonaszmclaren

Aucune des deux réponses ci-dessus n'a fonctionné pour moi. Seul réglage

 scrollView.contentInsetAdjustmentBehavior = .never

J'ai un stackView à l'intérieur de mon scrollView et les éléments dans stackView ont des tailles fixes, je n'ai donc pas besoin d'ajuster l'ajustement et cela fonctionne.

Le crédit va à Comment se débarrasser de safeAreaInsets sur UIScrollview (iOS 11, iPhoneX)

1
regina_fallangi

Pour moi cela a fonctionné:

1) Sélectionnez l'image pour laquelle vous définissez des contraintes

2) Allez à l'inspecteur d'attributs dans le panneau de droite

3) Sélectionnez Scale to Fill comme Content Mode

0