Я чувствую себя очень плотно, чтобы спросить об этом, но я попробовал несколько решений и не смог придумать желаемый результат. У меня есть 2 UIViews, которые представляют собой subviews более крупного UIView, который является подпунктом scrollView. Эти два представления - это регистрационные окна входа в систему & соответственно, и пользователь может пронести между ними для соответствующего доступа к приложению. Однако по какой-то причине scrollview не будет прокручиваться по горизонтали между этими двумя видами. Образец, который я ищу, не использует код для достижения этого, и я точно имитировал ограничения. Это может показаться глупым, но есть ли у кого-нибудь какие-либо предложения о том, как я могу достичь этого горизонтального свитка?прокрутите по горизонтали с uiscrollview полностью через раскадровку и автоспуск
ответ
«У меня есть 2 UIViews которые подвиды более крупного UIView, который является подтаблицей из Scrollview»
ОК, допустим, есть Sub1 и Sub2, внутри ContainerView (назовет его CV), который находится внутри ScrollView (SV).
В Interface Builder:
- Sub1 и Sub2 каждого из них 300 ширина
- резюме должно быть 600-ширину, чтобы держать SUB1 и SUB2 бок о бок ширина
- СВ должна быть 300 - вы увидите только Sub1
Чтобы прокрутить ScrollView, ширина его содержимого должна быть больше его собственной ширины. Если вы устанавливаете ограничения Leading и Trailing для CV относительно SV, это будет определять ширину содержимого.
Это звучит, как ваши ограничения "ContainerView" являются не набора на Scrollview
Надеется, что это нормально, чтобы эти изображения здесь ... все равно ...
SV - ScrollView - синий
CV - Контейнер View - розовый
Sub1 и Sub2 желтые
Начните с Scroll View, 300 х 300 и по центру в обоих направлениях:
Добавить в UIView - это будет CV - в SV, на 8,8 с размером 240 х 128 (мы по умолчанию изменится, что сразу же), и добавьте ведущий и Top ограничения 8 каждого:
изменить ширину и высоту CV до 600 х 120, и установить ширину и высоту ограничений. Половина зрения теперь распространяется вправо, за пределы края SV:
Добавить два подвидов в CV - для демонстрации, я использовал UILabels. Установите их ширину x высотой до 50 x 30, а позицию Sub1 - 8,8.
Дайте SUB1 Left, Top (8,8) и ширину и высоту (50x30) ограничений. Это будет держать его «прижат» в верхней левой части резюме:
Дайте SUB2 Ширина и высота (50x30) ограничения, и снизу и справа/ведомой ограничения 8,8. Когда вы установите эти ограничения, нажмите кнопку «Обновить кадры», чтобы автоматически переместить метку Sub2 на место - «закреплено» в нижнем правом углу CV (больше не отображается в IB):
Теперь настоящая ключевая часть: дайте ограничениям на право/конец и нижний предел CV по 8 каждый. Это то, что использует автоматическая макета для определения ContentSize для SV. Если вы запустите приложение, теперь вы сможете прокручивать его по горизонтали от Sub1 до Sub2.
Предполагая, что есть все работало, вы можете играть с регулировки ширины и высоты ограничений резюме, чтобы увидеть, как это влияет на скроллинг.
Исходный код здесь: https://github.com/DonMag/ScrollViewConstraints
Надежда, что помогает :)
да я считаю, что это вопрос. Но я все еще недоумеваю от вашего использования здесь. Когда вы говорите «относительно SV», предлагаете ли вы совмещать SV & CV вместе и затем устанавливать их передний и задний края? – Onicha21
Да, смутно ... Я подниму визуальную помощь ... – DonMag
ОК, или если у вас был сайт с подобной информацией, я был бы рад узнать, что тоже – Onicha21