我正在使用此代码在 uicollectionview 中的布局之间切换
-(void)setHorizontalLayout:(BOOL)layout
{
if (layout == YES)
{
[self.collectionView performBatchUpdates:^{
[self.collectionView setCollectionViewLayout:self.horizontalPagingLayout animated:NO];
[self.collectionView setPagingEnabled:YES];
self.galleryInHorizontalScrollMode = YES;
} completion:^(BOOL finished) {
[self.collectionView reloadData];
}];
}
else {
[self.collectionView performBatchUpdates:^{
[self.collectionView setCollectionViewLayout:self.galleryLayout animated:NO];
self.galleryInHorizontalScrollMode = NO;
[self.collectionView setPagingEnabled:NO];
} completion:^(BOOL finished) {
[self.collectionView reloadData];
}];
}
return;
}
但是在我从一种布局更改为另一种布局后,我将 [0,0] 索引路径单元设置为 uicollectionview 的背景。我怀疑该层的某些东西搞砸了。查看调用堆栈看起来一切都很好。我看不到任何可能与图层混淆的动画调用。
有什么方法可以使这个无效吗?什么可能导致它?