ios - 禁用 scrollViewDidScroll : when scrolling UICollectionView - iOS

标签 ios objective-c uicollectionview

我已经在我的 View Controller 中实现了 scrollViewDidScroll: 以在我上下 ScrollView 时产生一些动画。

但是,当我在 viewcontroller 中滚动我的 collectionview(水平)时,它弄乱了我在 scrollViewDidScroll 中的动画:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

    newAlpha = 1 - scrollView.contentOffset.y / 200;
    self.introImageView.alpha = newAlpha;
    //... -> prevent scrolling when collectionview is scrolled
}

当水平滚动我的 collectionview 时,如何防止调用 scrollViewDidScroll:?

最佳答案

最好的方法不是禁用委托(delegate)方法,而是确保仅在 ScrollView 调用时调用该代码。这是一个例子

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView == self.myScrollView) {
        newAlpha = 1 - scrollView.contentOffset.y / 200;
        self.introImageView.alpha = newAlpha;
    } else {
       //collectionView would fall here
    }

}

关于ios - 禁用 scrollViewDidScroll : when scrolling UICollectionView - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52542186/

相关文章:

ios - Swift:委托(delegate)/事件来自 C# 背景

ios - Swift 在 UITableViewCell 内的 UICollectionView 中以单选/多选模式选择/取消选择

ios - 在 Collection View 中访问 indexPath

ios - 在单元格之间的 UICollectionView 中设置/覆盖填充

iphone - Xcode 调试控制台输出已更改

ios - 捏合手势未应用于 UILabel 但应用于 UIView

ios - Realm Swift 0.92.3 "Run Script Phase"不工作

ios - 未调用 UIViewController -dealloc 方法

ios - LocationManager不一致

ios - VPImageCropperViewController API 问题