来自 电脑系统 2019-09-14 02:58 的文章
当前位置: 金沙澳门官网网址 > 电脑系统 > 正文

自定义collocationViewLayout实现瀑布流,定制自己的

if (height.floatValue > maxHeight) {

@property (nonatomic, strong) NSMutableArray *columnHeights;

#define COLUMNCOUNT 3

//每个cell的左右间距

finalLayoutAttributesForDisappearingDecorationElementOfKind:atIndexPath:

//记录每个区最高的

}

- collectionView:(UICollectionView *)collectionView layout:(JWCCustomLayout*)collectionViewLayout spacingWithLastSectionForSectionAtIndex:(NSInteger)section; (注意:在collectionViewFolwLayout中是无法设置当前的区头和上个区尾的间距的,为了弥补这一缺憾,特此添加这个方法)

5、Set the scroll direction for the layout.

//header的size

_attributes = [NSMutableDictionary dictionary];

@property (nonatomic,assign) CGFloat lineSpacing;

if (CGRectIntersectsRect(cellRect, rect)) {

@property (nonatomic, assign) CGFloat contentHeight;

在collectionView的bounds发生改变的时候刷新布局*

实现瀑布流简单,实现分区瀑布流,并且每个区的瀑布流的列数不一样且有区头和区尾,就不是太容易了。我嫌麻烦不愿意自己写(——>我承认懒,不愿意动脑子 *V*)开始在网上找了好多,都是仅仅一个区的瀑布流,没区头和区尾,完全满足不了我的需求。没办法,产品的需求在那,不能不做吧,于是自己静下心来开始写。

#define LINESPACING 10.0f 10.0f

// 每个区的边距

上面瀑布流的代码中,item的高度是在layout里面随机生成的,但在实际开发中,高度的生成不该由布局对象来完成。为了解决这个问题,我们可以在自定义的布局对象中增加一个遵循UICollectionViewDelegateFlowLayout的代理人属性:

CGFloat minColumnHeight = [self.columnHeights[0] doubleValue]; // 取出最小的那一列的高度

NSUInteger sectionCount = [self.collectionView numberOfSections];

功能描述:

{

看完如果对你有用 请点赞鼓励下中不中?

本文由金沙澳门官网网址发布于电脑系统,转载请注明出处:自定义collocationViewLayout实现瀑布流,定制自己的

关键词: