UIScrollView: разница между setContentOffset: animated и scrollRectToVisible: animated

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

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

Прокрутка до определенного верхнего левого места (свойство contentOffset) может быть выполнено двумя способами. SetContentOffset: animated: метод прокручивает содержимое до указанного смещения содержимого. Если анимированный параметр YES, прокрутка будет анимироваться с текущей позиции в указанную позицию с постоянной скоростью. Если анимированный параметр NO, прокрутка выполняется немедленно, и анимация не выполняется. место. В обоих случаях делегату отправляется scrollViewDidScroll: сообщение. Если анимация отключена или если вы установили смещение содержимого на устанавливая свойство contentOffset напрямую, делегат получает одиночный scrollViewDidScroll: сообщение. Если анимация включена, то делегат получает серию сообщений scrollViewDidScroll: как анимация в процессе. Когда анимация завершена, делегат получает сообщение scrollViewDidEndScrollingAnimation :.

Как сделать прямоугольник видимым

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

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

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

И scrollRectToVisible: animated: тоже похож на scrollViewDidEndDecelerating: animated:.

12
задан ThinkChris 16 February 2012 в 00:50
поделиться