переднего или заднего горизонтального выравнивания перед iOS 11
Предупреждение: leading or trailing horizontal alignment before iOS 11
Во время компиляции на Xcode 9.1 я получаю предупреждение во время одной из сцен в файле раскадровки. Существуют другие раскадровки (с целью развертывания iOS 10.0), и все же предупреждение отображается на этой конкретной сцене в определенном файле раскадровки.
Предупреждение будет подавлено, если я изменю цель развертывания на iOS 11.0 на сцене, где отображается предупреждение, но я не хочу этого делать.
Кто-нибудь сталкивался с этим делом?
Ответы
Ответ 1
Для меня проблема была в использовании trailing
leading
выравнивание по UIButton
сам.
Безопасная область, кажется, полностью удобна в использовании - она совместима с обратной связью, и она переводится в соответствующие поля супер-просмотра.
Но эта функция - только для iOS 11, поэтому используйте стандартное выравнивание влево/вправо, если вы ориентируетесь на более низкие версии iOS.
Самый простой способ выяснить, какой вид вызывает проблему, - это поиск contentHorizontalAlignment="leading"
или contentHorizontalAlignment="trailing"
в исходном коде для.xib
Ответ 2
Шаг 1:
Просмотрите свою наружную раскадровку в качестве исходного кода:
Шаг 2:
Замените все экземпляры:
contentHorizontalAlignment="leading"
с:
contentHorizontalAlignment="left"
Шаг 3:
Замените все экземпляры:
contentHorizontalAlignment="trailing"
с:
contentHorizontalAlignment="right"
Шаг 4:
Скомпилировать и смотреть предупреждение исчезают.
Я нахожу этот подход более простым, когда у вас есть тонна элементов, которые необходимо изменить. В iOS 11 были введены "ведущие" и "конечные", поскольку типы значений contentHorizontalAlignment были введены с iOS 11. iOS 10 не знает о "ведущей" и "задней", которая является причиной предупреждения.
Ответ 3
В журнале сборки перед словом "предупреждение" вы увидите идентификатор Interface Builder в форме "xxx-yy-zzz". Скопируйте и вставьте его в строку поиска Xcode, и он найдет для вас "оскорбительный" элемент управления. Нажмите на результат поиска, и вы попадете прямо в раскадровку с выбранным соответствующим элементом управления. Остальная часть проблемы может быть решена с помощью других ответов.