Странное поведение с ограничениями на верхнее/нижнее руководство по макету

У меня есть раскадровка (Xcode 6.4) с контроллером представления и двумя подпредставлениями, расположенными вертикально друг над другом. Изображение похоже на экран временной шкалы Facebook в их приложении, только с двумя плитками.

  • Первый вид ограничен верхней направляющей макета и верхней частью второго вида под ним (расстояния 8 или что-то еще).
  • Второй вид ограничен нижней частью первого вида и нижней направляющей компоновки (расстояния 8 или что-то еще).
  • Другие горизонтальные ограничения, которые не имеют значения.
  • Итог — все синее и отлично смотрится при смене типов экрана внутри раскадровки.

Хотя вы ожидаете, что представления будут гибкими по высоте и просто масштабируются по вертикали, чтобы заполнить всю высоту суперпредставления, когда вы запустите его, что-то пойдет не так.

При работе (с симулятором или устройством) на разных экранах и устройствах (и версиях iOS) вы получаете странное неожиданное поведение рядом с направляющими макета, например, появляется поле между подпредставлением и соответствующим верхним/нижним направляющим макета.

Из того, что я искал, это похоже на ошибку Xcode, поскольку я создал чистый новый проект только с этими ограничениями, и он все еще испортился.


person mllm    schedule 07.07.2015    source источник


Ответы (1)


Итак, я нашел подсказку здесь:

https://www.youtube.com/watch?v=lxc9DnqpI0c

И в любом случае хитрость заключается в том, чтобы НЕ ограничивать подпредставление верхними/нижними направляющими макета, а скорее суперпредставлением.

По сути, если вы хотите установить ограничение между подпредставлением (не основным представлением) в верхней/нижней части экрана, не используйте обычную технику перетаскивания Ctrl +, а просто выберите его, а затем перейдите:

Editor > Pin > Top Space to Superview

Потратил на это несколько часов!

person mllm    schedule 07.07.2015