UICollectionView滾動(dòng)視圖

使用UICollectionView

步驟:

  • 創(chuàng)建布局layout(可自定義)
  • 創(chuàng)建collectionView(注意:必須有布局參數(shù)cell必須注冊(cè)cell必須自定義,系統(tǒng)cell沒有任何子控件)
  • 遵守UICollectionViewDataSource協(xié)議

自定義UICollectionViewFlowLayout

通過自定義UICollectionViewFlowLayout實(shí)現(xiàn)滾動(dòng)
UICollectionViewFlowLayout重寫,主要有5個(gè)方法:

//五個(gè)方法用法說明
調(diào)用時(shí)機(jī):collectionView第一次布局,collectionView刷新的時(shí)候也會(huì)調(diào)用
作用:計(jì)算cell的布局
- (void)prepareLayout;
 
確認(rèn)cell的尺寸
UICollectionViewLayoutAttributes對(duì)象就對(duì)應(yīng)一個(gè)cell
拿到UICollectionViewLayoutAttributes相當(dāng)于拿到cell
作用:返回很多cell的尺寸(指定一個(gè)區(qū)域給你這個(gè)短區(qū)域的cell)(可以一次性返回所有cell,也可以每隔一個(gè)距離返回一個(gè)cell,取決于rect)
- (nullable NSArray<__kindof UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect;

在滾動(dòng)的時(shí)候是否允許刷新布局
- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds;

調(diào)用時(shí)機(jī):用戶手指一松手的時(shí)候就會(huì)調(diào)用
作用:確認(rèn)最終的偏移量
- (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset withScrollingVelocity:(CGPoint)velocity;
 
- (CGSize)collectionViewContentSize;

具體代碼參考:UICollectionView實(shí)現(xiàn)滾動(dòng)視圖

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容