4

我有一个UIViewController包含一个UICollectionView使用一个UICollectionViewFlowLayout. 视图控制器是UISplitViewController.

视图控制器是流布局的委托,其大小UICollectionViewCells是根据集合视图中的可用空间计算的。(例如itemSize = width/3,height/2

iOS8Apple 中引入了用于折叠拆分视图控制器的主控部分的 API。

我想在集合视图展开时使我的集合视图的布局无效,以强制重新计算项目大小。

我想在引入的新尺寸方法中添加适当的代码iOS8- 但是在折叠主端时没有调用它们。

这是我尝试过的代码。它不被称为:

-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {

    [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {

    } completion:^(id<UIViewControllerTransitionCoordinatorContext> context) {
        [self.collectionView.collectionViewLayout invalidateLayout];
        [self.collectionView reloadData];
    }];
}

-(void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
    [super traitCollectionDidChange:previousTraitCollection];
    [self.collectionView.collectionViewLayout invalidateLayout];
    [self.collectionView reloadData];
}
4

0 回答 0