IOS autolayout изменяет ведущее и конечное пространство
У меня есть некоторые проблемы с автоматической компоновкой, надеюсь, некоторые из вас могут мне помочь =).
Я добавляю UIView в пустой контроллер представления, например:
![enter image description here]()
Затем я добавляю ограничения для ведущего и конечного пробелов, например:
![enter image description here]()
В результате получается следующее:
![enter image description here]()
Я не могу понять, почему он устанавливает их равными -16.0. Если я изменю эти значения на 0, то Xcode жалуется на ширину серого UIView.
Когда я запускаю приложение на симуляторе iPhone 5, он выглядит хорошо:
![enter image description here]()
Однако, когда я запускаю приложение на симуляторе iPhone 6 Plus, он добавляет пробел слева и справа:
![enter image description here]()
Я не хочу, чтобы серый UIView имел любое пространство слева от справа, независимо от того, насколько большой экран. Как я могу это исправить? Спасибо!
Ответы
Ответ 1
Дважды щелкните ограничение и откройте его. Выберите первый или второй элемент и снимите флажок "Относительно поля". Затем установите константу как 0.
Xcode показывает -16, потому что он вычисляет пространство относительно поля, а не ребра.
Проверьте дополнительную ссылку для получения дополнительной информации о полях. Редактирование ограничений автоматической компоновки
![enter image description here]()
Ответ 2
Вы можете очистить все существующие ограничения в представлении, а в Any * Any mode добавить ограничения для всего 4 пространства для просмотра, которые являются ведущими, трейлинг, верхними, нижними. Тогда он будет иметь равную ширину с экраном, независимо от того, насколько большой экран.