UIScrollView: разница между setContentOffset: анимированный и scrollRectToVisible: анимированный - PullRequest
10 голосов
/ 16 февраля 2012

Я прочитал Руководство по программированию Apple Scroll View для iOS, но все еще не уверен в следующей части:

Прокрутка до определенного смещения

Прокрутка доОпределенное местоположение в верхнем левом углу (свойство contentOffset) может быть выполнено двумя способами.Метод setContentOffset: animated: прокручивает содержимое до указанного смещения содержимого.Если анимированным параметром является ДА, прокрутка будет анимироваться из текущей позиции в указанную позицию с постоянной скоростью.Если анимированный параметр НЕТ, прокрутка происходит немедленно и анимация не выполняется.В обоих случаях делегату отправляется сообщение scrollViewDidScroll :.Если анимация отключена или если вы устанавливаете смещение содержимого, устанавливая свойство contentOffset напрямую, делегат получает одно сообщение scrollViewDidScroll :.Если анимация включена, то делегат получает серию сообщений scrollViewDidScroll: в процессе анимации.Когда анимация завершена, делегат получает сообщение scrollViewDidEndScrollingAnimation: *. 1008 *

Создание видимого прямоугольника

Также возможно прокрутить прямоугольную область, чтобы она была видимой,Это особенно полезно, когда приложению необходимо отобразить элемент управления, который в данный момент находится за пределами видимой области, в видимом представлении.Метод scrollRectToVisible: animated: прокручивает указанный прямоугольник так, чтобы он был виден только в представлении прокрутки.Если анимированным параметром является ДА, прямоугольник прокручивается в поле зрения с постоянной скоростью.Как и в случае setContentOffset: animated :, если анимация отключена, делегату отправляется одно сообщение scrollViewDidScroll :.Если анимация включена, делегату отправляется серия scrollViewDidScroll: сообщения в процессе анимации.В случае scrollRectToVisible: animated: свойства отслеживания и перетаскивания представления прокрутки также имеют значение NO.

Если анимация включена для scrollRectToVisible: animated :, делегат получает сообщение scrollViewDidEndScrollingAnimation:, обеспечивающее уведомление о том, что представление прокрутки имеетприбыл в указанное место, и анимация завершена.

Я думаю, что она очень похожа между setContentOffset: animated и scrollRectToVisible: animated, может кто-нибудь дать некоторые советы о них?

И scrollRectToVisible: animated: аналогично scrollViewDidEndDecelerating: animated: too.

1 Ответ

14 голосов
/ 16 февраля 2012

Краткий ответ:

setContentOffset: анимированный сохраняет zoomscale .

scrollRectToVisible: анимированный может изменить его.

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