IOS 7 Автоматическая компоновка Y Положение/высота Отсутствует ограничение

Я пытаюсь создать представление для приложения iOS 7 iPhone с помощью Xcode 5.1.1. Я ориентирую iPhone 4s и 5+ порт представления. Вот мое мнение:

View with problems

Цель этого представления - выступать в качестве главного меню для приложения. ImageView - это логотип приложения, и каждая кнопка является опцией. Проблема, с которой я столкнулась, заключается в том, чтобы установить правильные ограничения на представления, чтобы все уменьшалось по высоте с iPhone 5 до 4s. Независимо от того, какую комбинацию я стараюсь, я всегда получаю "Необходимые ограничения для: Y-позиции или высоты". в разделе "Недостающие ограничения" и неправильной высоте в разделе "Неверные представления" для изображения и всех кнопок.

Если я попытаюсь использовать "Добавить недостающие ограничения", Xcode делает высоту для всех кнопок одинаковыми, за исключением последней кнопки. Последняя кнопка просто сжимается до текста.

Что мне не хватает, чтобы заставить это работать правильно? Благодарю!!

EDIT: на основе обратной связи я сделал следующие ограничения:

Изображение: привязано к верхнему/нижнему/ведущему/отслеживающемуся надзору. Высота закреплена. Нижнее пространство до желтой кнопки

Все кнопки: Равная высота друг к другу. На основе сгенерированных ограничений кажется, что все остальные кнопки смотрят на высоту желтой кнопки.

Желтая кнопка: верхнее пространство для просмотра изображения, трейлинг/ведущее пространство для наблюдения, нижнее пространство на красную кнопку

Красная кнопка: верхнее пространство до желтой кнопки, трейлинг/ведущее пространство для просмотра, нижнее пространство для зеленой кнопки

Зеленая кнопка: верхнее пространство до красной кнопки, трейлинг/ведущее пространство для наблюдения, нижнее пространство до коричневой кнопки

Кнопка коричневого цвета: верхнее пространство до зеленой кнопки, трейлинг/ведущее пространство для просмотра, нижнее пространство до оранжевой кнопки

Оранжевая кнопка: верхнее пространство для кнопки коричневого цвета, трейлинг/ведущее/нижнее пространство для наблюдения

Если я это сделаю, все выглядит хорошо в 4-дюймовом представлении Retina. Если я переключу его на 3.5-дюймовый, все выглядит хорошо и отлично работает в симуляторе. Если я переключу его обратно на 4-дюймовый вид, все кнопки, но желтые, будут утеряны со слегка меньшей высотой:

Messed up heights

Не уверен, что это вызывает. Я также могу загрузить копию моего проекта Xcode, если это помогает.

Ответ 1

Похоже, вы хотите, чтобы высота всех кнопок была одинаковой, это также похоже на то, что изображение имеет известную высоту. Это должно сработать для вас:

1: соедините все элементы 0 px сверху, влево, вправо и снизу рядом с ними. Для кнопок это будет кнопка сверху и снизу на оси y и супервизор по оси x.
2: укажите высоту изображения. 3: нажмите команду и выберите все цветные кнопки и выровняйте их высоты одинаково. Редактор → Pin → Heights Equally.

Поскольку autolayout знает, где начинается просмотр изображения (0 px из верхней части супервизора), и он знает высоту, он будет знать, где разместить верхнюю часть желтой кнопки. На дне он знает, что оранжевую кнопку нужно прикрепить к основанию. Единственное, что осталось для Autolayout, чтобы выяснить, насколько высокая должна быть каждая кнопка, которую она будет делать, основываясь на равном ограничении по высоте.

Изменить - более подробные инструкции со снимком экрана

Для шага 1 выберите верхнее изображение и выберите редактор → pin → , а затем по одному добавьте ведущий (как правило, на большинстве языков), задний, верхний и нижний. Как показано ниже, или вы можете использовать кнопку внизу, или вы можете использовать кнопку контакта (6 справа) внизу, чтобы добавить их в оптовую продажу. Я предлагаю использовать кнопку булавки, это быстрее. щелкните маленькие пунктирные линии, чтобы выбрать это ограничение для добавления.

enter image description hereenter image description here

Шаг 3 заключается в том, чтобы выровнять высоту одинаково, чтобы выбрать все ваши цветные виды и выровнять высоты равными. Так как верхний элемент (Imageview) подсвечен до вершины и имеет известную высоту, а нижняя часть прикреплена к нижней части экрана, остальные виды становятся похожими на складки аккордеона, растягиваются и сжимаются, чтобы заполнить остальные доступного пространства. Ограничение равной ширины гарантирует, что оно выглядит правильно. Без этого некоторые из них являются множественными решениями о том, насколько велики каждая точка зрения, поэтому вы, вероятно, окажетесь с небольшим, большим, а некоторые, которые могут быть не видны.

enter image description here