Я работаю над приложением довольно давно, и после перехода на Xcode 9 я получил много предупреждений об ограничениях. Мне удалось их исправить, но теперь я постоянно получаю следующие 3 предупреждения:
- Фиксированные ограничения ширины могут вызвать отсечение.
- Фиксированные начальные / конечные ограничения с центральным ограничением могут вызвать отсечение.
- Отсутствует конечное ограничение, что может привести к перекрытию с другими представлениями.
Хотя предупреждения имеют смысл, я не могу их решить, что бы я ни пытался. И сейчас у меня около 30 подобных предупреждений.
Например, у меня есть следующий ярлык:
с этими ограничениями:
У меня есть 5 одинаковых ярлыков на 5 отдельных VC. Все, что мне нужно, это чтобы этикетка и текст были по центру.
Сначала я установил ограничение на начало и трейлинг = 20, и у меня не было проблем. Однако теперь я получаю предупреждение только на этом ярлыке. Я сменил ведущий и трейлинг на> = 20, но это не помогло.
У меня нет проблем с другими идентичными ярлыками.
Другой пример:
У меня также есть 2 метки, обе размещены в строке:
Метка слева имеет следующие ограничения:
в то время как тот, что справа, имеет:
Я получаю сообщение «Отсутствует конечное ограничение, которое может привести к перекрытию с другими представлениями». предупреждение, и это имеет смысл, поскольку, если слишком много текста будет обрезано. Однако добавление конечного ограничения приводит к появлению следующих 2 предупреждений (справа указан метка lblMonthlyPayment):
Изменение ограничения на> = или = <не помогает. </p>
В третьей ситуации у меня есть метка, которая имеет фиксированную высоту и принимает ширину элемента выше (115pt), и я получаю «Фиксированные ограничения ширины могут вызвать отсечение». Попытка установить ограничение ширины 115 (практически то же самое ограничение) вызывает то же самое предупреждение.
Опять же, это имеет смысл, но мне действительно нужно дать этой метке фиксированную ширину. Более того, как и в описанной выше ситуации, у меня есть похожие ситуации в одном приложении, но без предупреждения.
Есть идеи?
Я знаю, что об этом уже спрашивали, и большинство найденных ответов на самом деле помогли мне преодолеть эти предупреждения, но по некоторым причинам они, похоже, не изменились.