美文网首页
关于UICollectionView设置cell展示时遇到的问题

关于UICollectionView设置cell展示时遇到的问题

作者: 华子的学习之路 | 来源:发表于2017-08-14 18:23 被阅读46次

    swift 学习笔记

    问题1. 设置cell全屏展示,并且滚动方向为水平, 随着cell的滚动, 屏幕左边缘的空隙越来越大, 如下图:

    滚动一次.png 滚动两次.png

    问题分析: 由于设置cell水平滚动, 就下意识的以为只需要设置水平cell之间的距离就ok了, 于是就写了如下代码:

    // 通过UICollectionViewFlowLayout直接设置
    collectionViewFlowLayout.minimumInteritemSpacing = 0.0
    
    // 通过代理方法
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
            return 0.0
        }
    

    解决: 虽然设置了水平方向滚动, 而且cell占满屏幕, 但是iOS底层处理时依然将cell按照竖直排列处理(个人猜测), 所以只需要设置竖直空隙为0就可以了

    // 通过UICollectionViewFlowLayout直接设置
    collectionViewFlowLayout.minimumLineSpacing = 0
    
    // 通过代理方法 
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
            return 0.0
        }
    

    问题2: 当collectionView是导航栏下方第一个控件时, 出现如图所示问题

    导航栏下放置滚动视图.png

    问题分析: VC的automaticallyAdjustsScrollViewInsets属性在搞怪

    解决方案: 只需要将VC的automaticallyAdjustsScrollViewInsets属性设置为false就可以了

    automaticallyAdjustsScrollViewInsets = false
    

    相关文章

      网友评论

          本文标题:关于UICollectionView设置cell展示时遇到的问题

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