Отслеживание определенного значения с помощью contentoffset

Я хочу изменить рамку представления во время прокрутки пользователя. Я проверяю contentOffSet представления прокрутки в scrollViewDidScroll и хочу знать, когда contentOffSet достигает определенного значения. Но я понимаю, что если пользователь прокручивает быстрее, это значение пропускается.

Вы знаете метод точного отслеживания contentOffSet?

попробуйте этот метод делегата func scrollViewWillBeginDecelerating (UIScrollView).

VDPurohit 31.10.2018 12:22
0
1
54
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Невозможно отслеживать прокрутку с большей точностью.

Лучше всего было бы проверить, что contentOffset больше или меньше того, что вы ищете (в зависимости от обстоятельств).

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

private var triggeredAnimation = false

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    if !triggeredAnimation, scrollView.contentOffset.y > 100 {
        triggeredAnimation = true
        // Cut off point reached, do whatever you want now
    }
}

Конечно, если любое действие, которое вы выполняете, обратимо, вам нужно будет выполнить сброс, если вы пойдете другим путем.

Другие вопросы по теме