在单个 UICollectionViewController 中管理多个 UICollectionViewLayout
Posted
技术标签:
【中文标题】在单个 UICollectionViewController 中管理多个 UICollectionViewLayout【英文标题】:Managing multiple UICollectionViewLayouts within a single UICollectionViewController 【发布时间】:2013-09-26 15:34:32 【问题描述】:抱歉,如果这是重复的,但我在最初的搜索中找不到任何东西。我正在努力理解这个设计。
我正在尝试使用新的 ios7 API 在 UICollectionViewLayouts 之间创建一些交互式转换 - UICollectionViewTransitionLayout Documentation
但是,我不确定如何最好地在一个 UICollectionViewController
中管理多个 UICollectionViewLayouts
,或者如何在一个 UICollectionViewController
之间交互移动。
这个问题更多是一个设计问题,关于如何编写代码而不是不了解交互式布局的实际实现和更改布局 - 我应该使用UICollectionViewController
吗?我真的不需要继承 UICollectionViewLayout
,因为我对 UICollectionViewFlowLayout
提供的功能非常满意。
我的理想和最终目标是实现一个UIViewController
(或多个UIViewControllers
),其中每个都有一个UICollectionView,在使用UIGestureRecognizers
之间进行推送和弹出。
谢谢。
编辑
还发现了一个在我之前提交的类似问题,UICollectionView interactive layout transition using iOS 7 APIs
【问题讨论】:
【参考方案1】:更新:
我已将我的解决方案代码上传到 GitHub...这是一项正在进行的工作
UICollectionView Interactive Transitions
我已决定使用单个UIViewController
的解决方案,它将维护多个UICollectionViewFlowLayout
对象,定义为控制器上的属性。
每个都将根据我希望 UICollectionView 的外观进行配置。
然后,我将使用 iOS7 的交互式过渡来处理两个定义的布局之间的过渡。我还可以使用这个基本调用来处理快速的非交互式转换:
[UICollectionView setCollectionView:animated:]
我没有收到答案,所以很遗憾不知道这是否是解决问题的最佳方法。
【讨论】:
以上是关于在单个 UICollectionViewController 中管理多个 UICollectionViewLayout的主要内容,如果未能解决你的问题,请参考以下文章
使用 lambda 在单个实例上重新定义单个 ruby 方法
在单个 NSOperationQueue iOS 中管理多个操作,例如暂停/恢复单个操作
单个实例[Windows必须在处理单个实例时重新打开...]