Ограничения автоматической компоновки iOS - просмотр размера экрана 3,5 или 4 дюйма
Я искал это, и я просто не могу понять это.
Как изменить размер представления в зависимости от размера экрана телефона, используя ограничения Auto Layout? У меня есть представление, которое отлично работает для iphone 5, но я хотел бы уменьшить его для iphone 4. Какие ограничения я использую?
Спасибо за любую помощь или ресурсы, направленные на.
4 ответа
Просто определите устройство, используя UUID, и установите постоянную ограничения, используя это. Если вы используете раскадровки, вы можете подключить ограничение к своему коду с помощью @IBOutlet. Ограничение, которое вы бы хотели отрегулировать, должно было бы перемещать объект так, как вы хотите. Например, если у вас есть кнопка, и она имеет ограничение со своим суперпредставлением внизу экрана, настройка константы будет перемещать ее вертикально вверх / вниз в зависимости от того, является ли константа положительной или отрицательной.
Ответ не так прост. Это зависит от того, что у вас на экране. Я не большой поклонник использования решимости с автоматическим макетом, мне нравится заботиться обо всех моих ограничениях. Например, если у вас есть кнопка в правом верхнем углу экрана, я бы использовал Пин-код и установил ограничение между правой стороной кнопки и стороной обзора, а также верхней стороной кнопки и верхняя сторона вида.
Это будет зависеть от того, как вы хотите, а затем расстояния между кнопками, между кнопками и видом, коллекцией ячеек, метками, изображениями, таблицами и т. Д.
Вы всегда можете пойти на простое решение и скрестить пальцы. В раскадровке найдите кнопку "Устранить проблемы с автоматической разметкой", нажмите ее, а затем нажмите "Добавить отсутствующие ограничения". Скрестите пальцы и, возможно, это работает для вас! (Если кнопка не найдена, сделайте ее проще: Editor->Resolve Auto-Layout Issues-> Add отсутствующие ограничения)
Чтобы уменьшить изображение для экрана меньшего размера, вам нужно будет установить ограничения с помощью верхнего руководства по разметке и нижнего руководства по разметке (это делается с помощью ctrl-draggin от объекта до верхней части или нижней части представления)
Я рекомендую вставить вид в ваш основной вид и "ограничить" его следующим образом: - Руководство по компоновке сверху наверх - начало пространства к контейнеру - конечное пространство к контейнеру - руководство внизу к макету
добавьте все свои элементы в это представление, но имейте в виду, что в середине есть некоторое "гибкое" пространство
----------------------------------
| | |
| | |
|---------Element----------------|
| | |
| | |
|--------------Element-----------|
| | |
| | |
|---------Element----------------|
| |
| |
| Flexible space |
| no constraints |
| |
|---------Element----------------|
| | |
|---------Element----------------|
| | |
|--------------------------------|
У Apple есть отличная документация, касающаяся использования ограничений и автоматических макетов.
Вы можете следовать руководству здесь - https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/Introduction/Introduction.html
или же
Смотрите замечательные видео WWDC
Введение в Auto Layout для iOS и OS X
https://developer.apple.com/videos/wwdc/2012/?id=202Лучшие практики для освоения автоматического макета
https://developer.apple.com/videos/wwdc/2012/?id=228