Scroll View - видовое представление с прокруткой

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

Настройка Scroll View

Настройка вида с прокруткой может быть осуществлена в Interface Builder. Некоторые настройки недоступны в инспекторе атрибутов, и их необходимо будет выполнить программно. Также вы можете установить все настройки программно.

Контент для вида прокрутки програмируется добавлением подвидов в его вид контента, используя метод addSubview.

Поведение Scroll View

Scroll view нуждается в делегате для отслеживания скролинга, перетягивания и масштабирования. Назначьте контроллер вида делегатом вида с прокруткой и реализуйте какой-либо или все методы UIScrollViewDelegate протокола, чтобы реализовать отслеживание пользовательских действий.

Scroll View отвечает за скорость и направление реакции на жесты пользователя. Используйте Shows Horizontal Scrollers в Interface Builder или свойство showsHorizontalScrollIndicator, и Shows Vertical Scrollers в Interface Builder или свойство showsVerticalScrollIndicator для того, чтобы сделать видимыми горизонтальную и вертикальную полосы прокрутки. Эти опции включены по умолчанию, выключите их если вы не хотите их выводить на дисплей.

Также вы можете сделать вид с прокруткой активным и неактивным, используя Scrolling Enabled в Interface Builder или свойство scrollEnabled. По умолчанию Scroll View активен. При деактивации он перестает отвечать на жесты пользователя, и перенаправляет события вверх по цепочке обработчиков.

Если вы выберите Paging Enabled в Interface Builder или свойство pagingEnabled, вид с прокруткой будет останавливать прокрутку по достижении границы вида, создавая эфект перелистывания одной страницы за раз.

Если вы включите Direction Lock Enabled в Interface Builder или свойство directionalLockEnabled, пользователю будет позволено прокручивать только в одном направлении за раз. По умолчанию прокрутка может осуществлятся в обоих направлениях и по диагонали.

Если выбрана опция Bounces Zoom в Interface Builder или свойство bouncesZoom, то при масштабировании при выходе за пределы максимального и ли минимального лимита для мастаба, вид с прокруткой анимирует свой контент для приведения его границ к соответствующему лимиту. Если эта опция отключена, масштабирование автоматически прекращается по достижении этих лимитов.

Используя Delays Content Touches в Interface Builder или свойство delaysContentTouches, вы можете задать следует, ли включить задержку обработки жеста прокрутки вниз. Если опция включена, вид задерживает обработку события жеста прокрутки вниз, пока не убедится в намеренности этого жеста.

Используйте Bounces в Interface Builder или свойство bounces, чтобы указать виду с прокруткой должен-ли он при преходе границ контента откатить контент к границам. Соответственно для горизонтальной и вертикальной прокруток используйте: Bounce Horizontally (alwaysBounceHorizontal) и Bounce Vertically (alwaysBounceVertical).

Вы можете использовать поля ввода Min Zoom (minimumZoomScale) и Max Zoom (maximumZoomScale), чтобы задать на сколько вид контента может быть масштабирован. Max Zoom должен быть больше Min Zoom, чтобы возможность масштабирования стала доступна. Значение по умолчанию 1.0.

Контент для Scroll View

Используйте свойство contentSize для того, чтобы установить размер контента. Свойство contentOffset - устанавливает точку отступа для контента, относительно самого Scroll View.

Пример использования Scroll View

Пример использования Scroll View приведен в примере работы с клавиатурой.

 
 
homeЗаметили ошибкукарта сайта 
   Made on a Mac