Мой вопрос об этом методе: (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
Я прочитал документацию, но я не понимаю, для чего этот метод.
спасибо за ваши ответы.
Мой вопрос об этом методе: (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
Я прочитал документацию, но я не понимаю, для чего этот метод.
спасибо за ваши ответы.
Как упоминалось в documentation.
Прокрутка до определенного смещения
Прокрутка в определенное верхнее левое положение (свойство contentOffset
) может выполняться двумя способами. Метод setContentOffset:animated:
прокручивает содержимое до указанного смещения содержимого. Если анимированный параметр YES
, прокрутка будет обновляться с текущей позиции до указанной позиции с постоянной скоростью. Если анимированный параметр NO
, прокрутка выполняется немедленно, и анимация не выполняется. В обоих случаях делегаты scrollViewDidScroll:
сообщений. Если анимация отключена или если вы настроили смещение содержимого, напрямую установив свойство contentOffset
, делегат получает одно сообщение scrollViewDidScroll:
. Если анимация включена, то делегат получает серию сообщений scrollViewDidScroll:
по мере запуска анимации. Когда анимация завершена, делегат получает сообщение scrollViewDidEndScrollingAnimation:
.
то есть. Простыми словами, если вы хотите прокручивать UIScrollView
программно, передавая прокрутку значений позиции, то есть сколько суммы прокручивается, вы можете использовать этот метод.
Этот метод также вызывает делегат scrollViewDidScroll:
i.e делегировать метод класса UIScrollView
, через который вы можете поддерживать количество прокрутки UIScrollView
.
UIScrollView позволяет вам иметь контент, который больше, чем вы можете просматривать на экране. На изображении ниже вы можете увидеть большой красный прямоугольник с зеленым прямоугольником внутри.
Свойство contentArea UIScrollView определяет логический размер вашего представления (красный прямоугольник). Видимая область вида прокрутки представлена зеленым прямоугольником. ContentOffset - верхний левый угол видимой области. При изменении contentOffset видимая область будет перемещаться.
(void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
Вышеуказанный метод переместит contentOffset (верхний левый угол зеленого прямоугольника) в указанное место, таким образом перемещая видимую область (зеленый прямоугольник).
Надеюсь, это поможет.