LMHWaterFallLayout.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //
  2. // LMHWaterFallLayout.h
  3. // WateFallLayoutTest
  4. //
  5. // Created by 刘梦桦 on 2017/5/18.
  6. // Copyright © 2017年 lmh. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. @class LMHWaterFallLayout;
  10. @protocol LMHWaterFallLayoutDeleaget<NSObject>
  11. @required
  12. /**
  13. * 每个item的高度
  14. */
  15. - (CGFloat)waterFallLayout:(LMHWaterFallLayout *)waterFallLayout heightForItemAtIndexPath:(NSUInteger)indexPath itemWidth:(CGFloat)itemWidth;
  16. @optional
  17. /**
  18. * 有多少列
  19. */
  20. - (NSUInteger)columnCountInWaterFallLayout:(LMHWaterFallLayout *)waterFallLayout;
  21. /**
  22. * 每列之间的间距
  23. */
  24. - (CGFloat)columnMarginInWaterFallLayout:(LMHWaterFallLayout *)waterFallLayout;
  25. /**
  26. * 每行之间的间距
  27. */
  28. - (CGFloat)rowMarginInWaterFallLayout:(LMHWaterFallLayout *)waterFallLayout;
  29. /**
  30. * 每个item的内边距
  31. */
  32. - (UIEdgeInsets)edgeInsetdInWaterFallLayout:(LMHWaterFallLayout *)waterFallLayout;
  33. @end
  34. @interface LMHWaterFallLayout : UICollectionViewFlowLayout
  35. /** 代理 */
  36. @property(nonatomic,assign)NSInteger tag;
  37. @property (nonatomic, weak) id<LMHWaterFallLayoutDeleaget> delegate;
  38. @end