J'ai commencé à adapter mon application pour iPhone X et j'ai trouvé un problème dans Interface Builder. Les guides de mise en page de zone de sécurité sont censés être rétrocompatibles, selon les vidéos officielles d'Apple. J'ai trouvé que cela fonctionne très bien dans les storyboards.Guides de disposition de zones de sécurité dans les fichiers xib - iOS 10
Mais dans mes fichiers XIB, les guides de mise en page de zone de sécurité ne sont pas respectés dans iOS 10.
Ils fonctionnent très bien pour la nouvelle version du système d'exploitation, mais les appareils iOS 10 semblent supposer simplement la distance de zone de sécurité zéro (en ignorant la taille de la barre d'état).
Ai-je manqué une configuration requise? Est-ce un bug Xcode, et si oui, toutes les solutions de contournement connues?
Voici une capture d'écran de la question dans un projet de test (iOS gauche 10, droite iOS 11):
Mon problème spécifique est uniquement sur les fichiers XIB, et semble se produire à la fois pour les contrôleurs poussés et présentés. Votre solution de contournement avec plusieurs contraintes semble être une bonne solution pour la plupart des situations. Merci! J'espère toujours qu'ils vont résoudre ces problèmes avant l'arrivée de l'iPhoneX. –
Très merci pour la suggestion prioritaire! Fonctionne maintenant comme un charme sur iOS 9 et iOS 11 sous iPhone X. –
Puis-je commenter poser cette question "Si vous montrez toujours une barre d'état, cela devrait réparer les choses."? Je ne vois pas comment afficher la barre d'état sur le simulateur de l'iPhone X en mode paysage. Ensuite, la solution de contournement décrite de «1000 priorité> = 20.0 à superview.top et une priorité de 750 == safearea.top» aurait un écart de 20px sur le dessus pour l'iPhone X en mode paysage. Ma solution consistait à supprimer la contrainte de "1000 priority> = 20.0" dans viewDidLoad si iOS <11. Ai-je manqué la manière de forcer la barre d'état dans l'iPhone X paysage? –