gpt4 book ai didi

ios - 具有不同数据源的 UICollectionView UseLayoutToLayoutNavigationTransitions

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:28:41 31 4
gpt4 key购买 nike

我有两个 UICollectionView 对象,它们都有不同的源和委托(delegate)。我想使用 UseLayoutToLayoutNavigationTransitions 通过转换实现“照片应用程序风格”的外观。

但它不起作用。当我调用 UseLayoutToLayoutNavigationTransitions 时,它会更改布局,但不会更改内容。

第一张图片是第一个收藏 View 。一系列类别和其中包含的人。

第二张图片是我希望动画最终出现的画面。特定类别中的一系列人物。

最后一张照片是现在发生的事情。类别只是重新排列。

First CollectionView What I'd like the animation to end up with What it looks like now.

最佳答案

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

Transitions Between UICollectionViewController Instances

部分。

它基本上向您展示了您必须通过实现导航 Controller 委托(delegate)方法手动更改数据源和委托(delegate):

- (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;
}
}

关于ios - 具有不同数据源的 UICollectionView UseLayoutToLayoutNavigationTransitions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21878687/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com