Автомакет и пропорциональное позиционирование

Я предполагаю, что моя ситуация должна быть общей проблемой, но я действительно новичок в AutoLayout, и мне это кажется особенно сложным:

Я хочу сделать макет подходящим для экранов с диагональю 3,5 и 4 дюйма. Это вид для 4-дюймовых дисплеев:

введите здесь описание изображения

А вот вид для 3,5-дюймового дисплея:

Дисплей 3,5 дюйма

Что мне нужно, так это сделать пространство между сегментированным элементом управления и желтым и синим представлением пропорциональным размеру экрана, который я полагаю.

Мое решение (не работает):

1)Добавление ограничений для верхнего/нижнего вертикальных пространств элемента управления сегментом с помощью less or equal to.

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

На мой взгляд, ограничения пункта 1) просто уменьшаются при масштабировании основного вида... но этого не происходит... и представление сегмента просто перемещается за другими представлениями, сохраняя интервал, определенный как max value< /strong> определения «Меньше или равно».

Как я могу решить эту распространенную проблему?

Должен ли я создавать разделители для этой ситуации? и в таком случае как бы вы их настроили?


person MatterGoal    schedule 25.11.2013    source источник
comment
Это может помочь вам ссылка   -  person Dunes Buggy    schedule 25.11.2013
comment
@iRaviiVooda спасибо. На данный момент это кажется единственным выходом.   -  person MatterGoal    schedule 25.11.2013


Ответы (1)


Существует чистое решение autolayout:

  1. Добавить вертикальное ограничение пространства [yellowView]-(80@500)-[segmentView]
  2. Добавить второе вертикальное ограничение пространства [segmentView]-(>=5)-[blueView]
person Mark Kryzhanouski    schedule 25.11.2013