Кнопки Next Prev над UIScrollView - PullRequest
0 голосов
/ 07 мая 2018

У меня проблемы с компоновкой в ​​Интерфейсном Разработчике (Xcode 9 / iOS 11).

У меня есть UIScrollview и над ним у меня есть 2 кнопки (следующий и предыдущий вид). Если я помещу кнопки под прокруткой, они появляются и работают. Но если я поместу их поверх вида прокрутки, они больше не будут отображаться.

В чем может быть проблема?

Кнопки макета и вид прокрутки:

Layout buttons and scrollview

Предупреждающее сообщение:

Warning message

Перетаскивание вида прокрутки Ограничения

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

При работе в Интерфейсном Разработчике, если вы перетаскиваете один объект на объект контейнера - такой как UIView или UIScrollView (который также является UIView), объект станет подпространством контейнера.

Это немного затрудняет выполнение того, что вы хотите, то есть кнопки поверх вида прокрутки, НЕ как подпредставления представление прокрутки.

Как вы видите на этом изображении, кнопки явно НЕ являются подпредставлениями прокрутки:

enter image description here

На этом изображении я перетаскиваю кнопки в представление прокрутки, и они становятся подпредставлениями :

enter image description here

Итак, чтобы получить то, что вы хотите, добавьте кнопки за пределами вида прокрутки и установите их ограничения. Я дал Prev ведущее ограничение 16 и Next конечное ограничение 16 ... оба ограничены представлением , а не представлением прокрутки. Затем я ограничил Next центрированием по вертикали до Prev, чтобы они оставались вертикально выровненными друг к другу.

Затем дают Prev ограничение по центру по вертикали для вида прокрутки. Выберите Editor -> Update Frames, и кнопки переместятся в нужное положение, но - как вы можете видеть из контура документа - они являются , а не подпредставлениями прокрутки:

enter image description here

На данный момент вы можете перетаскивать любой контент, который вы добавляете как подпредставлений вида прокрутки (например, вид изображения здесь), не затрагивая кнопки:

enter image description here

0 голосов
/ 07 мая 2018

Сначала нужно понять, как работает UIScrollView. Проверьте снова предупреждающее сообщение. Там написано:

ScrollView имеет неоднозначный прокручиваемый контент

Это означает, что подпредставлениям вашего scrollView не хватает ограничений, прикрепленных к ним и к scrollView, чтобы выполнить прокрутку scrollView. Ну как прокручивает scrollView? Если содержимое scrollView превышает кадр (ширину или высоту) scrollView, то scrollView будет прокручиваться.

В вашей проблеме две кнопки не толкают друг друга к рамке scrollView, это понятно? Это означает, что вашим кнопкам не хватает ограничений.

Я постараюсь привести пример чуть-чуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...