swift 學(xué)習(xí)筆記
問題1. 設(shè)置cell全屏展示,并且滾動方向?yàn)樗? 隨著cell的滾動, 屏幕左邊緣的空隙越來越大, 如下圖:
滾動一次.png
滾動兩次.png
問題分析: 由于設(shè)置cell水平滾動, 就下意識的以為只需要設(shè)置水平cell之間的距離就ok了, 于是就寫了如下代碼:
// 通過UICollectionViewFlowLayout直接設(shè)置
collectionViewFlowLayout.minimumInteritemSpacing = 0.0
// 通過代理方法
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 0.0
}
解決: 雖然設(shè)置了水平方向滾動, 而且cell占滿屏幕, 但是iOS底層處理時依然將cell按照豎直排列處理(個人猜測), 所以只需要設(shè)置豎直空隙為0就可以了
// 通過UICollectionViewFlowLayout直接設(shè)置
collectionViewFlowLayout.minimumLineSpacing = 0
// 通過代理方法
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return 0.0
}
問題2: 當(dāng)collectionView是導(dǎo)航欄下方第一個控件時, 出現(xiàn)如圖所示問題
導(dǎo)航欄下放置滾動視圖.png
問題分析: VC的automaticallyAdjustsScrollViewInsets屬性在搞怪
解決方案: 只需要將VC的automaticallyAdjustsScrollViewInsets屬性設(shè)置為false就可以了
automaticallyAdjustsScrollViewInsets = false