【问题标题】:UIScrollView delegate functions skipped when scrolling fast快速滚动时跳过 UIScrollView 委托函数
【发布时间】:2020-07-21 10:34:27
【问题描述】:

我正在使用 scrollView 委托函数来确定何时应该加载数据以及应该在启用分页的 collectionView 上进行视觉更新(例如scrollViewWillEndDragging(_:withVelocity:targetContentOffset:)

但是,当快速滚动页面时,有时会跳过委托功能。

有没有永远不会被跳过的功能?或者更好的是,如何确保每次滚动都会调用标准委托函数?

【问题讨论】:

    标签: ios swift uitableview uicollectionview uiscrollview


    【解决方案1】:

    您可以使用scrollViewDidScroll,从不跳过,但您需要使用您的scrollView 的当前origin.y(或x,如果滚动不垂直)计算每个页面。

    【讨论】:

    • ScrollView 确实滚动是一个选项,但它被非常频繁地调用。我希望有一个函数可以在每次滚动时调用(接近)一次,以免造成太多的低效率
    • 不幸的是,我之前在 scrollView 上启用分页时遇到了一些问题,唯一从未失败的方法是使用 didScroll.. 您可以尝试使用 scrollViewWillEndDragging 使用 scrollViewDidEndDragging 来提高机会?
    • 我不知道这是否会增加机会,但即使确实如此,我也需要一些可靠且始终有效的东西。滚动是不是我真的不想搞砸,因为性能问题,也因为我每次都必须手动计算页面......但我想如果没有更好的选择就必须这样做。无论如何,谢谢你的帮助!
    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多