ScrollView неправильно изменяет размеры - PullRequest
0 голосов
/ 09 мая 2018

У меня есть ScrollView с вертикальной прокруткой. Причиной ScrollView является установка всех моих кнопок, когда ориентация меняется на альбомную.

Есть 2 проблемы, которые возможно связаны:

  • В портретной ориентации (без необходимости прокрутки) вид все еще хочет прокручиваться.
  • В ландшафте оставляет слишком много места для прокрутки внизу.

Ограничения:

  • ScrollView - Конечный / ведущий пробел к superView, нижний пробел до label2, верхний пробел до label1
  • ContentView - Космический / Ведущий / Нижний / Верхний интервал для superView, Ширина равна mainView
  • Label1 - выравнивание по центру X, верхнее пространство для superView (60), нижнее пространство для scrollView
  • Label2 - выравнивание по центру X, нижнее пространство для superView (60), верхнее пространство для scrollView
  • Кнопки - выравнивание по центру X, верхнее пространство для superView (50), высота равна (50), нижнее пространство для другой кнопки (30) или нижнее пространство для superView (50)

Настроить настройки просмотра прокрутки сняты. Это все в autolayout, без кода.

Пример контроллера вида:

enter image description here

Что странно, так это то, что у меня есть другие отлично работающие представления прокрутки, которые соответственно меняют размер. При попытке дублировать процесс я продолжал получать те же результаты ...

Огляделся, но не смог найти полезных ответов. Поэтому любая помощь будет принята с благодарностью.

Я добавлю другую информацию, если это необходимо. Я уверен, что это простое решение, которое я продолжаю пропускать -_-

Ответы [ 2 ]

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

Я думаю, что ваше «нижнее пространство для superView (50) в кнопках» является неоднозначным, я рекомендую удалить его, другая проблема в том, что ваш contentView не знает своей реальной позиции, попробуйте добавить «Center X and Y of ваш contentView с вашим scrollView ".

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

Привязка прокрутки к началу и ширине представления к началу и ширине просмотра; привязать верхнюю часть к верхней части метки1 и нижнюю часть к верхней части метки 2.

Избавиться от просмотра содержимого (не требуется). Добавьте все в представление прокрутки.

Привязать button1 center-x, чтобы прокрутить представление center-x, и top, чтобы прокрутить представление top. Если вам нужно задать button1 ширину или высоту, используя ограничения, не используйте ширину или высоту вида прокрутки; вместо этого, прикрепите ширину кнопки к ширине представления, высоту к высоте просмотра. Подвиды вида с прокруткой не должны полагаться на вид с прокруткой для определения своих размеров.

Якорь button4 сверху вниз button3 снизу, center-x для просмотра прокрутки center-x; и что наиболее важно, закрепите button4 bottom, чтобы прокрутить вид снизу (это растянет вид прокрутки для вас). Это предотвратит прокрутку, когда прокрутка не нужна.

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