我是我设置UICollectionViewController的useLayoutToLayoutNavigationTransitions,以便进行布局,布局转变为属性为'YES’ -[UINavigationController pushViewController:animated:]和popViewControllerAnimated:.另外,我已经实现了基于手势的捏合交互式过渡.
此外,我已经定义了一个UICollectionViewTransitionLayout与原始行为不同的自定义UICollectionViewTransitionLayout.我创建了一个"CustomLayoutTransition"对象的实例并从中返回-[UICollectionViewDelegate collectionView:transitionLayoutForOldLayout:newLayout:].
当我这样做时,我期待两种行为
CustomLayoutTransition用于执行自定义布局到布局的转换
1)当通过捏合手势触发交互式转换时,或者
2)当我按下/弹出一个实例时UICollectionViewController,例如通过调用[UINavigationController pushViewController:animated:]
我的期望#1似乎是正确的,但#2不是; 似乎当我以编程方式进行推送/弹出时,使用Apple提供的原始UICollectionViewTransitionLayout而不是我的自定义转换布局.
UICollectionViewTransitionLayout在这种情况下使用而不是我的自定义转换布局是否正常?
如果这是正常行为,有没有办法在以编程方式推送/弹出时使用自定义转换执行布局到布局转换UICollectionViewController?
cocoa-touch transition ios uicollectionview uicollectionviewlayout
我正在研究多个UICollectionViewControllers,它们都以不同的布局显示相同的内容.
根据Apple的CollectionViewTransition示例应用程序和WWDC 2013的Session 218,UICollectionViewController有一个叫做的属性useLayoutToLayoutNavigationTransitions,它基本上通过插入'from'和'to'集合视图的布局来处理导航过渡.
我们假设我有两个UICollectionViewControllers名为MasterCollectionViewController和DetailCollectionViewController.当我从MasterCollectionViewController推送DetailCollectionViewController时,布局已正确更改,但集合视图仍使用MasterCollectionViewController中声明的数据源.
这对我来说是一个问题,因为在每个UICollectionViewControllers中,我需要重新排列节/项配置.我尝试做的一个很好的例子是iOS 7上的Photos应用程序.该应用程序的第一个选项卡有三个视图控制器:年份,集合和时刻.这些视图控制器都显示相同的内容:照片.每个视图控制器之间的区别在于照片在节中的分组方式.部分分组是UICollectionViewDataSource这里的一个问题.
如果useLayoutToLayoutNavigationTransitions我遇到的财产行为是正常行为,有没有办法以不同的方式实现我的目标?
任何帮助或评论将不胜感激.
谢谢!