基于CollectionView的瀑布流

效果圖,變量多基于隨機(jī)數(shù)


CollectionView瀑布流.gif

需實(shí)現(xiàn)方法:

#import <UIKit/UIKit.h>
@class CWCollectionViewLayout;
@protocol CWCollectionViewLayoutDelegate <NSObject>

@required
 /** item的size,為了避免storyboard默認(rèn)的寬度1000,這里size的寬度是根據(jù)列數(shù)計(jì)算的(collectionView的寬度-邊緣間距(UIEdgeInsets.left+UIEdgeInsets.right)-(列數(shù)-1)*列間距),列數(shù)默認(rèn)是2,所有間距默認(rèn)都是10*/
- (CGSize)collectionViewLayout:(CWCollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath;

@optional
/** 列數(shù)*/
- (CGFloat)columnCountInCollectionViewLayout:(CWCollectionViewLayout *)collectionViewLayout;
/** 列間距*/
- (CGFloat)columnMarginInCollectionViewLayout:(CWCollectionViewLayout *)collectionViewLayout;
/** 行間距*/
- (CGFloat)rowMarginInCollectionViewLayout:(CWCollectionViewLayout *)collectionViewLayout;
/** view邊緣間距*/
- (UIEdgeInsets)edgeInsetsInWaterflowLayout:(CWCollectionViewLayout *)collectionViewLayout;
/** 更新(加載)item,是否改變Collection的高度*/
- (BOOL)updateViewFrameInWaterflowLayout:(CWCollectionViewLayout *)collectionViewLayout;

@end

@interface CWCollectionViewLayout : UICollectionViewLayout

@property (nonatomic, weak) id<CWCollectionViewLayoutDelegate> layoutDelegate;

@end

Demo地址:https://github.com/CyanSmile/CWCollectionViewWaterfallFlow.git

最后編輯于
?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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