このコードを使用して、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;
}
しかし、あるレイアウトから別のレイアウトに変更した後、uicollectionview の背景として [0,0] indexpathed セル セットを取得しています。レイヤーの何かが台無しになっていると思われます。コール スタックを見渡すと、すべて問題ないように見えます。レイヤーをいじっている可能性のあるアニメーションの呼び出しが見当たりません。
これを無効にする方法はありますか?何が原因でしょうか?