2015-10-09 15 views
1

我有一個UIViewCollection當旋轉屏幕時工作得很漂亮。一切都完美調整。但是,當我繼續到模態視圖控制器,然後旋轉,然後關閉,只有「一些」旋轉任務完成。它不會調整單元格大小。UIViewCollection調整後,在模態視圖控制器中旋轉後的單元格

我沒有安裝在我的模態視圖控制器的委託,它調用父視圖控制器的didRotate ...

- (void)didRotateFromInterfaceOrientationInModal:(UIInterfaceOrientation)fromInterfaceOrientation { 
 
[self.collectionView performBatchUpdates:^{ 
 
    [self.collectionView setCollectionViewLayout:self.collectionView.collectionViewLayout animated:YES]; 
 
} completion:nil]; 
 
    [self.collectionView.collectionViewLayout invalidateLayout]; 
 
    [self.collectionView invalidateIntrinsicContentSize]; 
 
} 
 

 
- (void)willRotateToInterfaceOrientationInModal:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { 
 

 
    [self.collectionView.collectionViewLayout invalidateLayout]; 
 
    [self.collectionView invalidateIntrinsicContentSize]; 
 
}

而且我已經驗證了,當我在旋轉,他們被解僱一個模態視圖控制器。

同樣,當我從collectionviewcontroller旋轉時,單元格大小被重新計算,只有在模態視圖控制器中旋轉時,單元格大小纔會被重新計算。在兩種情況下都會發射完全相同的代碼。

+0

是你的模態的原始視圖控制器的子視圖控制器?如果不是將其作爲子視圖控制器添加,則將其呈現。 –

+0

這是一個子視圖控制器。父UICollectionViewController呈現模態子UIViewController。 – user432297

回答

1

已解決...

原來問題只存在於模擬器中。在實際的設備上,它按預期工作。

相關問題