预设,
我有 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这个错误
问题
我在聊天中有两条消息和更多消息,但是当底部滚动(通常是顶部)时,第二项消失了。
给定矩形的 layoutAttributesForElementsInRect 返回两个 indexPaths 0-0 和 0-1 的属性,但委托方法
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
只为 indexPath 0-0 调用
这里图片
更新 所以我发现它为什么会发生 - 这行代码
attr.transform = CGAffineTransformMakeRotation((CGFloat)M_PI);
看看是否删除变换