- 🖖 Template auto layout cell for automatically UICollectionViewCell calculating and cache size framework, Only applicable to cells created by xib.
pod 'UICollectionViewDynamicLayoutCacheSize'
pod install
#import "UICollectionViewDynamicLayoutCacheSize.h"
if your cell use autolayout , all you need just to do like this:
@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;
/**
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;
/**
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 is released under the MIT license. See LICENSE for details.