8
votes

La zone de sécurité iPhone X semble être inférieure à la barre d'outils opaque

Je ne peux pas contrecarrer correctement une vue sur l'iPhone X au-dessus de la barre d'outils opaque inférieure.

Vous pouvez voir ici que la vue contrainte au bas de la zone de sécurité est masquée par la barre d'outils:

 Capture d'écran iPhone x

tandis que pour d'autres modèles et tailles d'iPhone, la vue est correctement affichée au-dessus de la barre d'outils:

 Capture d'écran de storyboard iPhone SE

Voici les contraintes que j'ai ajoutées:

 contraintes

Quelqu'un pourrait-il gentiment m'expliquer que dois-je faire?


3 Réponses :


-1
votes

Taille d'utilisation pour adapter le contenu ⌘ (+) = Entrez la description de l'image ici


0 commentaires

3
votes

Ceci est définitivement bug iOS.

Essayez d'utiliser la barre d'outils Translucide car Bug n'est pas reproductible lorsque la barre d'outils est translucide.

Autre option consiste à ajouter une barre d'outils directement sur View Controller


7 commentaires

Le sommet de la zone de sécurité est un haut de l'écran. L'étiquette sera donc alignée sous la barre d'état. Cependant, j'ai besoin que l'étiquette soit en bas.


Oh pardon. J'ai mélangé une zone de sécurité et un guide de mise en page dans ma tête. Btw i juste je ne vois pas la barre d'outils sur vos captures d'écran. Je viens d'essayer le projet de test créé à partir de Application de visualisation unique . Et je n'ai pas votre problème sur iPhone X. Quelles sont les zones noires sur vos captures d'écran? Je ne les ai pas aussi


On dirait que vous avez utilisé des métriques simulées. Dans ce cas, ce juste bogue du constructeur d'interface. Essayez d'exécuter votre application sur l'iPhone X Simulator lorsque la barre d'outils réelle est présentée. S'il n'y a pas d'autre bogue là-bas (cette fois-ci dans IOS), vous ne devriez pas rencontrer ce problème


Bien sûr, le problème est présent sur le simulateur. La zone noire est une boîte à outils opaque simulée, elle est indiquée dans la description. Ajoutez simplement n'importe quel bouton de la barre d'outils inférieure à l'aide de la propriété Toolbaritems de l'UIViewController et vous verrez que cette barre d'outils couvrira partiellement la vue exactement comme indiquée sur l'IB.


Toolbaritems Propriété Ne pas ajouter la vue de la barre d'outils pour afficher le contrôleur. Devis de la documentation Cette propriété contient une gamme d'objets UIBARBUTTNITEM et fonctionne conjointement avec un objet UINAVIGATIONCONTROLLER. Utilisez-vous un contrôleur de navigation?


Oh, oui, désolé pour ça, je les ajoute effectivement au contrôleur de navigation.


Consultez ma réponse, d'une manière ou d'une autre cela m'a aidé avec un problème.



7
votes

J'ai résolu le problème en sélectionnant "Étendre les bords dans les barres opaques" pour l'UIViewController en question:

avec option activée: Ib étendre les bords cochés

avec option désactivée: IB étendre les bords non liés

L'autre option consiste à utiliser une barre d'outils translucide comme @silmaril a mentionné dans une autre réponse à la question.


1 commentaires

Êtes-vous sûr de ne pas avoir changé votre style de barre d'outils vers translucide aussi? Parce que je peux toujours reproduire votre bogue lorsque la barre d'outils n'est pas translucide. Ce qui signifie que l'activation des bords étendre sous des barres opaques n'est pas une solution