使用 contentOffSet 跟踪特定值

Tracking a specific value with contentOffSet

我想在用户滚动时更改视图的框架。 我正在检查 scrollViewDidScroll 中滚动视图的 contentOffSet,我想知道 contentOffSet 何时达到特定值。但我发现如果用户滚动得更快,这个值就会被跳过。

你知道精确追踪contentOffSet的方法吗?

无法更精确地跟踪滚动。

最好的办法是检查 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
    }
}

当然,如果您正在执行的任何操作都是可逆的,则在执行相反操作时需要重新设置。