Добавить ограничение расстояния для просмотра в Xcode 5

Я создаю приложение iOS в Xcode 5, и у меня возникают проблемы с добавлением ограничений компоновки. В Xcode 4.x я мог просто добавить верхние/конечные/верхние/нижние пробелы в контейнер (супервизор) к любому элементу пользовательского интерфейса. Теперь у меня есть только эта опция:

enter image description here

Я хочу добавить ограничение "нижнее пространство для наблюдения" в текстовое представление. Он говорит "расстояние до ближайшего соседа", но я не хочу создавать ограничение для "ближайшего соседа", у меня есть что-то еще под моим текстовым представлением, и я не хочу создавать ограничение с этим. Если в моем текстовом представлении нет другого объекта, он правильно добавляет ограничение в контейнер. Но если я пытаюсь что-то изменить, все испортится: мне нужно переместить все виды где-то в другом месте, затем добавить ограничение, а затем добавить переместить остальные виды назад. Если я добавлю ограничение между текстовым представлением и элементом пользовательского интерфейса (в данном случае это кнопка), он не работает (все выглядит правильно: кнопка имеет ограничение на просмотр вниз, а текстовое представление имеет ограничение вертикального интервала с помощью и нет противоречивых ограничений). Элементы пользовательского интерфейса отображаются вне границ экрана в разных ориентациях экрана (3,5 дюйма). Есть ли ошибка с интерфейсом Builder, или я чего-то не хватает? Когда я смогу настроить все правильно, мои элементы управления все еще кажутся вне пределов времени, когда я изменяю размеры экранов компоновщика интерфейса, но правильно отображаю их на симуляторе/устройстве на 3,5 дюйма. Какова "наилучшая практика" проектирования пользовательского интерфейса с новыми ограничениями Interface Builder в Xcode 5?

ОБНОВЛЕНИЕ: У меня возникает еще одна проблема в другом проекте с тем же. Я пытаюсь установить вершину представления в верхнюю направляющую макета, точно CTRL-перетаскивая мой элемент управления туда, где он говорит "руководство по началу макета", и пытается сгладить нижнюю часть моего элемента управления направляющей макета (примерно на -470 очков) вместо того, чтобы вызывать верхнюю часть моего контроля, что не имеет никакого смысла, поскольку элемент управления должен располагаться в экранах с переменной высотой (например, обычный и 4-дюймовый iPhone и возможные другие макеты в будущем). Вот скриншот того, что происходит:

enter image description here

И я получаю это в ограничениях:

enter image description here

Как я могу заставить Interface Builder совместить верхнюю часть представления с верхним руководством по макете?

ОБНОВЛЕНИЕ 2: Я нашел обходное решение. Я сначала изменяю размер представления, чтобы уменьшить его высоту (поэтому верхняя часть не будет перекрываться или быть очень близка к верхней направляющей макета), а THEN я CTRL + перетащить ее в верхнюю направляющую. Кажется, он работает правильно. После того, как я подключу его, я снова измените свой вид на желаемый размер и выберите Update Constraints. Он работает, но он по-прежнему не является решением, поскольку он требует изменения размера представления, подключения, изменения размера и обновления ограничений.

Ответ 1

Чтобы добавить ограничение между представлением и его супервидом (например, "нижнее пространство для наблюдения" ), вы можете использовать схему документа (левая часть построителя интерфейса).

В схеме документа:

  • Удерживайте клавишу ctrl и перетащите ее из вида в супервизор (или наоборот).
  • Выберите ограничения, которые вы хотите добавить (в этом примере "Bottom Space to Container" ).

ctrl-drag from the view to its' superview (or vice versa)Select the constraints you want to add

Ответ 2

Ответ Jarig хорош, но иногда может привести к неожиданным результатам, как указано в комментариях.

Другой вариант - выбрать дочерний режим и перейти к:

Редактоp > Вывод > Верхнее пространство для наблюдения

или любое ограничение, которое вы хотите.

Ответ 3

Кажется, теперь это ограничение нижнего края. Выберите свой вид и его супервизор, нажмите "Выровнять" и проверьте "Нижние края" thingy

pic

Ответ 4

Если вы хотите добавить конечные или ведущие ограничения, как в Xcode 4, пожалуйста, CTRL перетащите из центра представления, к которому вы хотите добавить ограничение, влево, вправо, вверх или вниз. Затем вам будет предоставлено окно, в котором вы можете выбрать ограничение для добавления (в зависимости от направления, в которое вы перетаскиваете CTRL).