2016-06-11 4 views
0

Я хотел бы правильно понять использование ограничений Autolayout в Xcode 7 и, пытаясь изучить его с помощью некоторых замечательных уроков, у меня все еще много проблем. Экран я показано ниже представляет собой простой экран, используемый для перенаправления пользователей либо петь вверх форму или войти в систему:Устранение неполадок Ограничения автоопределения

enter image description here

После применения Autolayout ограничений нежелательный результат ниже:

enter image description here

Как вы можете видеть, что кнопки внизу исчезли, а высота кнопки вверх выше ожидаемой.

Наконец я собираюсь показать ниже конфигурации ограничений:

enter image description here

+0

Если у вас понимают минимальные требования для однозначной компоновки и ограничений в горизонтальном/вертикальном направлениях. Тогда вы можете работать с ним очень легко. Пробуйте эту главу https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/AnatomyofaConstraint.html#//apple_ref/doc/uid/TP40010853-CH9-SW1. – srvv

ответ

0

Вы должны только добавить ограничения, которые позволяют Xcode выяснить й и у положения в целях наряду с высотой и шириной. Например: кнопка «Регистрация» имеет верхнее пространство для основной метки. Теперь та же кнопка регистрации имеет нижние ограничения для уже зарегистрированной метки, которая, в свою очередь, имеет ФИКСИРОВАННОЕ расстояние снизу вместе с высотой FIXED. Он не знает, как отображать представление, когда экран отличается по размеру. Он пытается сохранить все указанные ограничения в своем представлении, которые он не может сделать. Для начала попробуйте удалить фиксированное расстояние от кнопки регистрации с основной метки.

В вашей консоли при загрузке представления. Отладчик должен показать, какие ограничения конфликтуют и какие ограничения удаляются XCode.

+0

Это ** Xcode ** ;-) –

0

Я использую следующий подход при работе с AutoLayout.

Как правило, я стараюсь применять AutoLayout «сверху-вниз», однако, мне нужно иметь в виду, что iPhone 4S является намного меньше, чем iPhone 6+.

Подход TOP-DOWN работает хорошо, если есть вид прокрутки позади, позволяя разным размерам прокручивать объекты вверху и внизу существующего экрана.

например. от ваших снимков экрана ...

"Main" этикетки:

Align Top/Left/Right + Fix height.Then ...

"Зарегистрироваться" кнопка:

Снова - выровнять верхнюю/левую/правую + высоту фиксации. Etc ...

Однако, если вы не используете прокрутку в фоновом режиме, объекты внизу будут недоступны в зависимости от размера экрана симулятора.

Решение:
Вместо того, чтобы выровнять нижние размещенные объекты в TOP,

Совместите их (нижние объекты) в нижней части и зафиксировать их высоту.

т.е. двойной эффект «сверху вниз» + «снизу вверх»

например,

"Вход" кнопка:

Align Bottom/Right + Фикс Высота & Ширина.

"Уже зарегистрировать" ярлык:

Align Bottom/Right + Фикс Высота & Ширина.

"Sign Up" Кнопка:

Align Bottom/Left/Right + Фикс высота.

Резюмируя:

1. Если Scroll View доступен в фоновом режиме, может быть использован подход центрирующих элементов в ТОП (с Нисходящим подходом).

2. В противном случае, двойной подход «сверху-вниз» + «вниз-вверх» должен быть использован подшипник в действие на малых + больших экранов без использования функции прокрутки

Смежные вопросы