2014-02-19 23 views
2

我有兩個UICollectionView對象,它們都有不同的來源和委託。我希望通過使用UseLayoutToLayoutNavigationTransitions實現轉換的「照片應用程序」。UICollectionView UseLayoutToLayoutNavigationTransitions與不同的數據源

它雖然不工作。當我撥打UseLayoutToLayoutNavigationTransitions時,它會更改佈局,但不會更改內容。

第一張照片是第一張收藏視圖。一系列類別和其中包含的人員。

第二張照片是我想要動畫最終成爲的內容。某個類別內的一系列人物。

最後一張照片是現在發生的事情。分類只是重新排列。

First CollectionViewWhat I'd like the animation to end up withWhat it looks like now.

回答

3

看看http://www.objc.io/issue-12/collectionview-animations.html

過渡UICollectionViewController實例

部分之間。

它基本上說明你,你就必須更改數據源,並通過實施導航控制器委託方法手動委託:

- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated 
{ 
    if ([viewController isKindOfClass:[FJDetailViewController class]]) { 
     FJDetailViewController *dvc = (FJDetailViewController*)viewController; 
     dvc.collectionView.dataSource = dvc; 
     dvc.collectionView.delegate = dvc; 
     [dvc.collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:_selectedItem inSection:0] atScrollPosition:UICollectionViewScrollPositionCenteredVertically animated:NO]; 
    } 
    else if (viewController == self){ 
     self.collectionView.dataSource = self; 
     self.collectionView.delegate = self; 
    } 
} 
相關問題