Je connais la raison de cet avertissement et comment le résoudre: donner une largeur préférée à l'étiquette.
Le problème est que, lorsque je clique sur cet avertissement, aucun libellé/vue/contrôleur de vue n'est sélectionné. Le storyboard s'ouvre et c'est tout. Il existe de nombreux contrôleurs de vue avec de nombreuses vues dans mon story-board. Comment savoir quelle étiquette est à l'origine du problème sans parcourir manuellement tous les contrôleurs de vue? Lorsque je clique sur l'avertissement, j'attends qu'il m'amène à la vue à l'origine de l'avertissement, mais cela ouvre simplement le scénario.
Voici un moyen de trouver l'étiquette spécifique à l'origine de cet avertissement:
Sous XCODE 6.1, j’ai trouvé que le moyen le plus simple de trouver l’erreur était via le Navigateur de rapports.
View
-> Navigators
-> Show Report Navigator
ou appuyez simplement sur ⌘-8
⌘-f
pour l'ID d'objet.La réponse de @Don Eichenseer est géniale. Mais pour ceux qui veulent le résoudre: J'ai le même problème avant. Le problème était dû à une UILabel
dont la propriété Lines
(dans l'inspecteur d'attributs) était supérieure à 1
. Lorsque vous avez trouvé la UILabel
associée, définissez-la Lignes sur 1
.
il suffit de supprimer le numéro de ligne de l'étiquette et de le définir par programme
[label setNumberOfLines:2];
Comme indiqué dans cet article , vous pouvez également utiliser cette expression rationnelle <label (?!. * preferredMaxLayoutWidth) dans le storyboard source, pour trouver toutes les étiquettes pour lesquelles la définition de la propriété preferredMaxLayoutWidth n'est pas définie. Alors corrige le.
Est-ce l'avertissement d'une vue de collection? Si c'est le cas, je suppose qu'il s'agit d'une cellule et d'une étiquette avec un nombre de lignes défini à zéro.
J'ai eu le même problème dans un projet existant développé en version 7.1 sans autolayouts. Une fois que j'ai migré l'application vers iOS8 et que la version 8.0 a été modifiée dans le fichier de projet, le message d'avertissement s'affiche dans Xib, où j'ai UILabel utilisé avec plusieurs lignes.
afin de corriger le problème, sélectionnez l'inspecteur de fichier pour Xib et vérifiez la version pour laquelle il est construit. Dans mon cas, c'était toujours pour iOS7.
vous devriez changer le Build pour à la version appropriée
et l'avertissement disparaîtra comme dans mon cas :-)