我将我UICollectionViewController的 'useLayoutToLayoutNavigationTransitions属性设置为 'YES' 以便为-[UINavigationController pushViewController:animated:]和执行布局到布局转换popViewControllerAnimated:。此外,我还实现了基于捏合手势的交互式过渡。
此外,我还定义了一个UICollectionViewTransitionLayout行为不同于UICollectionViewTransitionLayout. 我创建了我的“CustomLayoutTransition”对象的一个实例并从-[UICollectionViewDelegate collectionView:transitionLayoutForOldLayout:newLayout:].
当我这样做时,我期待两种行为
CustomLayoutTransition用于执行自定义布局到布局转换
1) 当交互转换由捏合手势触发时,或
2) 当我推送/弹出 的实例时UICollectionViewController,例如,通过调用[UINavigationController pushViewController:animated:]
我的期望 #1 似乎是正确的,但 #2 不是;似乎当我以编程方式进行推送/弹出时,UICollectionViewTransitionLayout使用的是 Apple 提供的原始转换布局,而不是我的自定义转换布局。
UICollectionViewTransitionLayout在这种情况下使用而不是我的自定义过渡布局是否正常?
如果这是正常行为,是否有办法在以编程方式推送/弹出时使用自定义转换来执行布局到布局转换UICollectionViewController?