【问题标题】:UICollectionView weird scroll issueUICollectionView 奇怪的滚动问题
【发布时间】:2025-12-11 12:55:01
【问题描述】:

我正在制作通用应用程序,但 iPhone 上出现了奇怪的滚动问题。

当我滑动手指以滚动浏览收藏视图时,通常当您点击 UICollectionView 时它会停止(例如照片应用程序),在我的情况下它会继续滚动。只有在滚动速度低时才会停止滚动。

其他问题,不确定是否相关:scrollToTop 在 iPhone 上不工作,而在 iPad 上工作正常。

此行为发生在物理设备和模拟器上,使用 iOS 6.1。

【问题讨论】:

    标签: iphone ios uiscrollview uicollectionview


    【解决方案1】:

    我找到了解决问题的方法。我之前没有描述过这个实现细节,因为我不知道它与我的问题有关。

    我正在使用SDWebImage 框架来下载和缓存远程图像,当下载图像时,我使用UIView animateWithDuration 块为单元格设置动画。

    我使用以下代码来执行动画:

    [UIView animateWithDuration:ANIMATION_TIME animations:^{
       // Animation Code
    }];
    

    默认情况下,UIView animateWithDuration 不允许在动画期间进行交互。以下代码解决了我的问题:

    [UIView animateWithDuration:ANIMATION_TIME
                          delay:0
                        options:(UIViewAnimationOptionCurveLinear | UIViewAnimationOptionAllowUserInteraction)
                     animations:^{
                         // Animation Code
                   } completion:nil];
    

    【讨论】: