Неожиданный результат для автозапуска на iphone 6 plus
Я добавил uiview в контроллер просмотра (VC), пытаясь установить его ширину, равную ширине видимости VC.
То, что я установил и ожидал:
![xcode setting and expected result]()
И что я получил на iphone 6 плюс:
![what i got on ip6+]()
Я попытался изменить константы ведущего пространства и конечного пространства и не помогать.
Есть ли какой-либо специальный вариант для автоопределения iphone 6+?
Параметр представления здесь "Любая ширина x Обычная высота"
------- Добавлен дек. 2016
Людям, которые смущены этим случаем, как я:
В UIView есть свойство layout margin, которое является UIEdgeInsets (8,8,8,8). Это что-то вроде css padding.
Когда край вашего представления близок к краю супервизора, и свойство preserveesSuperviewLayoutMargins истинно, фактические поля макета могут быть увеличены, чтобы предотвратить совпадение содержимого с полями супервидов.
Поля по умолчанию - восемь точек с каждой стороны.
Если представление является корневым представлением контроллеров вида, система устанавливает и управляет полями. Верхнее и нижнее поля установлены на ноль точки. Боковые поля меняются в зависимости от текущего класса размера, но может быть 16 или 20 пунктов. Вы не можете изменить эти поля.
Ответы
Ответ 1
Попробуйте удалить проверку Constrain на поля при добавлении ограничений. Вот посмотрите:
Проверяется ограничение на поля и его результат
![Constrain to margins]()
![result]()
Теперь, после удаления ограничений и повторного добавления ограничений с ограничениями на отсутствие полей, вот результат:
![Constrain to margins unchecked]()
![result without Constrain to margins]()
Ответ 2
Ответ Sharon прекрасно работает, но вам не нужно удалять существующие ограничения для решения проблемы. Вы можете редактировать существующие ограничения, удаляя посторонний маркер:
![Before applying solution]()
![Solution step]()
![After applying solution]()
Ответ 3
Редактирование существующих ограничений для удаления постороннего поля не будет работать. Вы должны удалить существующие ограничения и добавить новые, удерживая ограничения, чтобы маржа не была выбрана.
Ответ 4
Я столкнулся с той же проблемой для моей кнопки "Готово". Проблема заключалась в том, что моя View (Done Button) находилась в базовой иерархии представления, поэтому я возвращаю представление в корневом представлении (вид контроллера контроллера). и соответственно устанавливают ограничения.
Ограничения для моего случая Pin- > Uncheck Ограничения для поля → Нижнее, Ведущее, Trailing (Constraints value = 0)
![введите описание изображения здесь]()
Убедитесь, что иерархия просмотра не должна выполняться следующим образом. (Возможно, Subview может быть только разрезанным).
![введите описание изображения здесь]()
Ответ 5
У меня была эта ошибка в симуляторе iPhone 6 plus. Но в устройстве с 6 плюсами эта ошибка не произошла. Это может быть просто ошибка с 6 плюс симуляторы.