使用布局委托转换UICollectionView布局

时间:2014-01-16 17:52:30

标签: ios layout delegates uicollectionview

我正尝试使用useLayoutToLayoutNavigationTransitions从一个布局转换到另一个布局。

但是,在转换完成之前,collectionView的委托不会更改为新的视图控制器,这意味着我无法覆盖itemSize,spacing等的流布局挂钩。我认为这将是pop动画的一个问题,以及。

是否有推荐的方法,或者我不应该依赖委托挂钩?在进行不需要委托挂钩的布局到布局推送时,一切正常。

1 个答案:

答案 0 :(得分:0)

我到达的解决方案是实现一个自定义布局,完全符合我的要求而无需委托。这被证明是困难的,因为UICollectionViewFlowLayout没有钩子,实质上是在没有委托的情况下执行委托的角色(覆盖标题,项目的大小)。

廉价和肮脏的修复是获取PSTCollectionViewFlowLayout的副本,修改它以使用UICollectionView(因为它是UICollectionView的直接替换包的一部分),然后放入我的hacks做我想做的事

我现在有一个UICollectionViewController到UICollectionViewController过渡,看起来类似于天气应用程序,但是自动在UINavigationController堆栈上工作。您点击一个部分以展开一个部分 - 其余部分的大小为高度= 0。

第一个UICollectionViewController有一个UICollectionViewFlowLayout,第二个UICollectionViewController有一个带有'expandedSection'属性的修改过的PSTCollectionViewFlowLayout。