UICollectionView在旋转时重新加载单元格

时间:2013-03-05 01:47:50

标签: ios6 reload uicollectionview cells

所以我为我的UICollectionView创建了自己的自定义布局。当我从纵向模式旋转到横向模式时,一些单元格开始重新加载其内容。我认为布局只是改变了每个单元格的位置而没有重新加载内容?

只有在我在集合视图上调用reload Data时才会重新加载内容。

对可能发生的事情的任何想法?

3 个答案:

答案 0 :(得分:2)

在轮换时使用invalidateLayout代替reloadData,或覆盖shouldInvalidateLayoutForBoundsChange:并在UICollectionViewLayout子类中返回YES。

答案 1 :(得分:1)

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
    myCollectionView.frame = self.view.bounds;
    [myCollectionView.collectionViewLayout invalidateLayout];
}

答案 2 :(得分:0)

不确定你是否瞄准这个目标,但在这里:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{
    [super didRotateFromInterfaceOrientation:fromInterfaceOrientation];
    [self.collectionView reloadData];
}