美文网首页
UICollectionView不响应scrollViewDid

UICollectionView不响应scrollViewDid

作者: HF_K | 来源:发表于2023-04-26 17:56 被阅读0次

    前言

    使用GKPageScrollView时,当内容使用UICollectionView展示的时候,发现内容少的时候无法正滚动。

    原因

    滚动视图我们常用的:UIScrollViewUICollectionViewUITableView,默认属性如下:

    @property(nonatomic) BOOL  bounces;  // default YES. if YES, bounces past edge of content and back again
    @property(nonatomic) BOOL  alwaysBounceVertical;  / default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag vertically
    @property(nonatomic) BOOL alwaysBounceHorizontal;  // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag horizontally
    

    bounces默认是YES,用来控制滚动视图是否具有反弹效果。

    bouncesNO的时候,其他两个属性值设置无效,滚动视图不具备反弹效果;

    bouncesYES的时候,其他两个属性设置才有效。

    alwaysBounceVertical设置垂直方向的反弹是否有效,设置为YES,则bouncesYES

    alwaysBounceHorizontal设置水平方向的反弹是否有效,设置为YES,则bouncesYES

    注意1⚠️:UITableView默认情况下alwaysBounceVerticalYESalwaysBounceHorizontalNO
    UIScrollViewUICollectionView默认情况下alwaysBounceVerticalalwaysBounceHorizontal都是NO

    注意2⚠️:当内容视图的尺寸超过了自己的bounds的尺寸的时候,相应方向上反弹属性会自动设置为YES

    解决办法

    那么问题就显而易见,因为UICollectionView没有设置对应的属性,当内容不足以超过当前屏幕时,弹性属性为NO,所以内容无法滚动,导致代理方法无法执行

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

    我们只需要将对应滚动方向属性设置为YES即可。

    相关文章

      网友评论

          本文标题:UICollectionView不响应scrollViewDid

          本文链接:https://www.haomeiwen.com/subject/oywvjdtx.html