Я пытаюсь сделать снимки частью прокрутки в галерее. Я добавил 4 ограничения: aspectRatio, Центр по вертикали и -12 интервал между полями для ближайшего соседа (вид) слева и справа.Ограничения UIScrollView основаны на раскадровке
По какой-то причине, когда UIView в раскадровке является 4-дюймовым iPhone, iPhone 5 и 5s выровнены, а 6 и 6s испорчены. Если я изменил размер UIView на 4,7-дюймовый iPhone (оставив только ограничения), то 5 и 5 будут смещены, а 6 и 6 - в порядке. Я думаю, что начальный размер представления прокрутки инициализируется, когда сначала создается сам вид, который изначально имеет размер вашей раскадровки. Поэтому я попробовал распечатать фрейм для отладки. Когда iPhone в раскадровке составляет 4,7 дюйма, кадр выводится на (-1,83,377,500), который отлично работает. Когда Раскадровка составляет 4 дюйма, кадр распечатывается (-1,70,322,427)
Я устал, используя scrollView.layoutIfNeeded, который помогает и печатает (-9,72.5,393,522), но не получает рамку так же, как и если раскадровка была установлена на 4.7 iPhone.
Edit: Скриншоты
Вам нужно больше объяснить, как настроена иерархия вашего представления и каковы ограничения для ее видов. Если вы получаете неожиданные результаты для разных размеров устройства, возможно, вы указали слишком много или недостаточно ограничений. – beyowulf
Я не уверен, что вы подразумеваете под иерархией, но внутри ScrollView ничего нет. Что меня смущает, так это то, что ограничения основаны на том, что установлено в ракурсе раскадровки. Например, в раскадровке, если я перехожу к «Стимулированной метрике» и изменяю размер, влияющий на то, как он влияет на симуляцию. – bdc
Где вы устанавливаете ограничения? В раскадровке или в коде? – beyowulf