J'essaie de définir une contrainte de "0" sur un UIImageView depuis les côtés (gauche et droite), mais lorsque j'ajoute la contrainte avec "Contraindre à la marge" cochée, elle épingle l'image jusqu'au bord du ViewController alors qu'il devrait garder une certaine distance, pourquoi cela se produit-il?
J'avais le même problème et j'ai récemment résolu le problème en désactivant la zone de sécurité. La disposition des zones sûres est activée par défaut. Pour désactiver la présentation de la zone sécurisée dans Xcode 9, choisissez Affichage> Utilitaires> Afficher l'inspecteur de fichiers et décochez la case Utiliser les guides de présentation de la zone sécurisée. Cela devrait corriger le problème. Bonne chance, espérons que cela aide.
Vérifiez si votre UIImageView est chevauchant ou placé passé cette ligne de marge. Si tel est le cas, la contrainte de marge ne fait rien. Pour résoudre ce problème, je l'ai déplacé manuellement afin qu'il soit éloigné de la ligne de marge et réessayez.
Cela vous permet de conserver la zone de sécurité.
J'ai constaté que si UIView se chevauchait avec ou par un autre point de vue, ce problème se posait également, par exemple si vous souhaitez afficher une image côte à côte et disposer également d'un aperçu de la caméra en plein écran.
La solution pour moi était de faire glisser la vue où je le voulais (c’est-à-dire sur un côté), puis de définir les contraintes et que cela se comportait correctement à partir de ce moment-là. Je n’ai pas eu à supprimer la vue sécurisée. C'est avec Xcode 10.1.