UICollectionView mise à jour - la taille de l'article ne change pas

Je vais avoir un problème avec collectionView de la taille de l'élément. Je veux afficher 3 articles en ligne pour le mode Portrait et 6 pour le paysage. J'ai mis en place -layoutSubviews comme ceci:

- (void)layoutSubviews {
    [super layoutSubviews];

    if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortrait || ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortraitUpsideDown)) {
        //Portrait orientation
        self.flowLayoutPortrait.itemSize = CGSizeMake(106, 106);

    } else if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeLeft || ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeRight)) {
        //Landscape orientation
        self.flowLayoutPortrait.itemSize = CGSizeMake(93, 93);
    }
    [self.collectionView.collectionViewLayout invalidateLayout];
}

Mais la taille des cellules n'est pas actualisé, il reste toujours le même pour les deux orientations.
Si j'ai créer 2 flowLayouts et l'utilisation:

[self.collectionView setCollectionViewLayout:self.flowLayoutLandscape];

Tout fonctionne, mais je n'aime vraiment pas la façon dont ils sont modifiés. L'Animation est vraiment mauvais.
Et parce que itemSize est la seule propriété qui doit être mis à jour, à l'aide de 1 mise en page semble être la meilleure option.

Comment puis-je savoir collectionView de mise à disposition?

InformationsquelleAutor Armands L. | 2014-05-19