scrollViewDidScroll scrollViewWillEndDragging 在主线程上同时运行?
Posted
技术标签:
【中文标题】scrollViewDidScroll scrollViewWillEndDragging 在主线程上同时运行?【英文标题】:scrollViewDidScroll scrollViewWillEndDragging runs simultaneously on main thread? 【发布时间】:2016-11-14 05:52:26 【问题描述】:我对@987654325@ scrollViewWillEndDragging
感到困惑。它们是否以异步方式工作?
我发现有一刻,scrollViewDidScroll
和 scrollViewWillEndDragging
都已触发且未完成。
ps:NO BLOCK在我的代码中
编辑
我将在scrollViewDidScroll
中使用一个属性,该属性将在scrollViewWillEndDragging
末尾更新。我的问题是 scrollViewDidScroll
和 scrollViewWillEndDragging
是否以异步方式运行。如果是这样,我需要使用锁来防止它。
【问题讨论】:
未完成是什么意思? stacktrack 创建的断点没有到达 scrollViewDidScroll 和 scrollViewWillEndDragging @Rajat 的末尾 可以看到截图,断点后依然是代码 您的断点已激活,您需要按 Play 继续执行您的代码。 【参考方案1】:scrollViewWillEndDragging
当用户完成滚动您的UIScrollView
中的内容时,将调用此UIScrollViewDelegate
方法。
scrollViewDidScroll
当用户滚动您的UIScrollView
中的内容时,将调用此UIScrollViewDelegate
方法。
【讨论】:
谢谢你,我已经更新了我的问题,希望它能帮助你理解我的问题... @Tepmnthar 您想检测用户何时开始滚动以及何时结束滚动? 当scrollview仍在滚动(减速)时,我想使用scrollViewWillEndDragging中设置的新值。 检查这个方法 - developer.apple.com/reference/uikit/uiscrollviewdelegate/… 我终于找到了这个why-scrollViewDidScroll-triggeredl。我在scrollViewWillEndDragging
中编辑了 contentOffset,然后触发了scrollViewDidScroll
。我的错。很抱歉没有提供足够的信息。任何方式都非常感谢你。以上是关于scrollViewDidScroll scrollViewWillEndDragging 在主线程上同时运行?的主要内容,如果未能解决你的问题,请参考以下文章
在 UIWebView 中没有调用 scrollViewDidScroll
禁用 scrollViewDidScroll:滚动 UICollectionView 时 - iOS
- (void)scrollViewDidScroll:(UIScrollView *)scrollView 在 iOS 8 中太慢了
使用 scrollViewDidScroll 处理多个 Collection View Cells