Je teste actuellement Xcode 9 beta 3 au moment d'écrire ces lignes.
Lors de l'affichage du storyboard, je reçois une liste d'avertissements indiquant que, dans d'autres langues/régions, ma contrainte fixe posera un problème.
L'application est assez complexe et de nombreux affichages connaissent ces avertissements.
L'avertissement est:
Certain autolayout constraint combinations may result in an appropriate layout in the current development language but will pose issues in other languages and regions.
Je sais que l'application ne sera bientôt pas utilisée dans d'autres langues.
Existe-t-il un moyen de désactiver cet avertissement? Cela semble idiot mais je ne peux pas supporter de voir tous mes points de vue avec l’icône d’avertissement jaune et compter en haut (110 avertissements!)
En supposant que votre application ne soit pas localisée, vous devez restaurer le paramètre Localiser dans votre story-board. Un des nôtres a été réglé en anglais. Décochez la case Anglais ou tout ce que vous avez défini. Le storyboard est dans un dossier avec le code de langue, en anglais. Si vous décochez cette case, elle sera supprimée du répertoire du projet, car l'application ne recherche plus le dossier en. Recherchez le storyboard dans le dossier Finder, déplacez-le du dossier en, puis faites-le glisser dans le projet. Assurez-vous que l’adhésion cible est cochée. Nettoyez, fermez, ouvrez, forcez-vous à quitter, etc. au besoin et vous devriez être prêt à partir! Nous avions 360 avertissements dans un story-board, donc c'était agréable de résoudre ce problème!
Vous pouvez également supprimer l'avertissement de problème de localisation en intégrant simplement l'étiquette ou le bouton dans une vue transparente. Ensuite, supprimez la contrainte de largeur de repère de l'étiquette ou du bouton et définissez-la sur cette vue conteneur.
En utilisant une vue conteneur, vous pouvez faire taire l'avertissement tout en restant en mesure de localiser le storyboard. Parfois, vous devez avoir une étiquette ou un bouton avec une largeur fixe même si la langue va changer. Si vous êtes certain que la largeur de la réparation est suffisamment grande, cela ne devrait pas poser de problème mais Xcode ne le sait pas, c'est pourquoi vous obtenez l'avertissement ;-)
Une solution simple: désactivez Respect Language Direction pour chaque contrainte problématique.