【发布时间】:2016-01-19 13:15:04
【问题描述】:
预设,
我有 collectionViewFlowLayout 的子类
- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds {
return YES;
}
- (NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect {
NSArray *arr = [super layoutAttributesForElementsInRect:rect];
BBLog(@"ARRA:%@", arr);
for (UICollectionViewLayoutAttributes *attr in arr) {
if (CGAffineTransformIsIdentity(attr.transform)) {
attr.transform = CGAffineTransformMakeRotation((CGFloat)M_PI);
}
}
return arr;
}
CollectionView 旋转到上下滚动
self.collectionView.transform = CGAffineTransformMakeRotation((CGFloat)M_PI);
但是即使只使用原生collectionViewFlowLayout 没有子类化,一个git这个错误
问题
我在聊天中有两条消息和更多消息,但是当滚动到底部(通常是顶部)时,第二项消失了。
给定rect的layoutAttributesForElementsInRect返回两个indexPaths 0-0和0-1的两个属性,但是委托方法
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
只为 indexPath 0-0 调用
这里的图片
更新 所以我找到了为什么会发生 - 这行代码
attr.transform = CGAffineTransformMakeRotation((CGFloat)M_PI);
看看是否移除变换
【问题讨论】:
标签: ios uicollectionview uicollectionviewcell uicollectionviewlayout uicollectionviewdelegate