我工作的一個類似的問題。
目前,我UICollectionViewController有UICollectionViewFlowLayout的兩個實例變量,每個與波泰特或景觀相應插圖。
在旋轉,我這樣做:
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration{
if (UIDeviceOrientationIsPortrait(toInterfaceOrientation)) {
[_itemCollection setCollectionViewLayout:_portraitLayout];
[_itemCollection reloadData];
} else {
[_itemCollection setCollectionViewLayout:_landscapeLayout];
[_itemCollection reloadData];
}
}
說我遇到的唯一問題是,它隨機與EXC_BAD_ACCESS崩潰的setCollectionViewLayout隨機。
喜歡的東西上面可能爲你工作。我不確定這是否是正確的做事方式。我最近纔開始使用UICollectionViews。
這對我的作品。但不是使用'setCollectionViewLayout',我只是在'sizeForItemAtIndexPath'中修改了我需要的一個屬性。這被稱爲'reloadData'的結果。 –
錯過了[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]。 –