效果演示
介绍
🖖 为自动计算和缓存UICollectionView大小而设计的模板auto layout cell框架,仅适用于由xib创建的cell。
CocoaPods
pod 'UICollectionViewDynamicLayoutCacheSize'
pod install
#import "UICollectionViewDynamicLayoutCacheSize.h"
使用说明
如果您的cell使用autolayout,您只需做如下操作
Xib 创建 cell
最大水平视图
或 最大垂直视图
固定
如果 @property (nonatomic, assign) IBInspectable BOOL bm_maxXViewFixed; ///< maxX view whether fixed, default NO.
@property (nonatomic, assign) IBInspectable BOOL bm_maxYViewFixed; ///< maxY view whether fixed, default NO.
单元格最大宽度是固定的
/**
get cell size with class width cacheIndexPath configuration
*/
- (CGSize)bm_sizeWithCellClass:(Class)clas
cellMaxWidth:(CGFloat)width
cacheByIndexPath:(NSIndexPath *)indexPath
configuration:(BMCollectionViewCellDynamicLayoutConfigurationBlock)configuration;
/**
get cell size with class width cacheKey configuration
*/
- (CGSize)bm_sizeWithCellClass:(Class)clas
cellMaxWidth:(CGFloat)width
cacheByKey:(id<NSCopying>)key
configuration:(BMCollectionViewCellDynamicLayoutConfigurationBlock)configuration;
单元格最大高度是固定的
/**
get cell size with class height cacheIndexPath configuration
*/
- (CGSize)bm_sizeWithCellClass:(Class)clas
cellMaxHeight:(CGFloat)height
cacheByIndexPath:(NSIndexPath *)indexPath
configuration:(BMCollectionViewCellDynamicLayoutConfigurationBlock)configuration;
/**
get cell size with class height cacheKey configuration
*/
- (CGSize)bm_sizeWithCellClass:(Class)clas
cellMaxHeight:(CGFloat)height
cacheByKey:(id<NSCopying>)key
configuration:(BMCollectionViewCellDynamicLayoutConfigurationBlock)configuration;
单元格的最大 Size 是固定的
/**
get cell size with class size cacheIndexPath configuration
*/
- (CGSize)bm_sizeWithCellClass:(Class)clas
cellMaxSize:(CGSize)size
cacheByIndexPath:(NSIndexPath *)indexPath
configuration:(BMCollectionViewCellDynamicLayoutConfigurationBlock)configuration;
/**
get cell size with class size cacheKey configuration
*/
- (CGSize)bm_sizeWithCellClass:(Class)clas
cellMaxSize:(CGSize)size
cacheByKey:(id<NSCopying>)key
configuration:(BMCollectionViewCellDynamicLayoutConfigurationBlock)configuration;
单元格 Size 是无限制的
/**
get cell size with class cacheIndexPath configuration
*/
- (CGSize)bm_sizeWithCellClass:(Class)clas
cacheByIndexPath:(NSIndexPath *)indexPath
configuration:(BMCollectionViewCellDynamicLayoutConfigurationBlock)configuration;
/**
get cell size with class cacheKey configuration
*/
- (CGSize)bm_sizeWithCellClass:(Class)clas
cacheByKey:(id<NSCopying>)key
configuration:(BMCollectionViewCellDynamicLayoutConfigurationBlock)configuration;
许可协议
UICollectionViewDynamicLayoutCacheSize 采用 MIT 许可协议 发布。详情请见许可证文件。