Высота UIScrollview динамическая в зависимости от представлений ios
Я пишу приложение IOS, которое имеет дочерние представления (например, фрагменты или подпредставления), которые размещаются в простом UIView
в UIViewController
и высота UIView
составляет около 300 пикселей. Я просто загружаю подпредставления в UIView
однако каждое подпредставление имеет свой собственный контент, который может не уместиться в 300px, таким образом uiscrollview
не могу получить хотя бы последний взгляд.
Моя проблема в том, что я не могу решить прокрутку просмотра содержимого для прокрутки от родителя UIViewController
наряду с его дочерними представлениями контроллера представления, поскольку подпредставления длиннее, чем 300px и, таким образом, uiscrollview
не может получить последний элемент.
Я пытался дать статическое scrollview.contentSize.height = 1000
и, следовательно, представление прокрутки может прокручиваться под экраном, но я не могу нажать на более поздние представления, как кажется uiscrollview
не может прочитать этот элемент.
У меня вопрос, как я могу назначить динамический uiscrollview
высота при условии, что я использую autolayout в моем uiviewcontroller
и я хочу рассчитать высоту свитка в соответствии с детьми на основе моего UIViewController
, Я использую Swift 2.0 и AutoLayout в раскадровке.
1 ответ
Ваши ограничения должны быть такими,
scrollview - верхний, нижний, ведущий, трейлинг
представление (представление содержимого) - сверху, снизу, впереди, сзади, сзади, фиксировать высоту и горизонтально центр в контейнере
и добавьте все остальные вещи в этом представлении. Вы получите желаемый результат. он будет прокручиваться на экране меньшего размера, чем при просмотре контента, и не будет прокручиваться на экране большего размера, чем при просмотре контента
Во-вторых, вам нужно увеличить высоту просмотра контента по мере добавления дополнительных подпредставлений. Высота представления вашего контента должна быть равна высоте и интервалу всего подпредставления.
После этой настройки, если вы не можете прокрутить, проверьте константу нижнего ограничения представления содержимого в инспекторе размера. сделать его нулевым (если не в состоянии прокрутить, то только).
надеюсь это поможет:)