UICollectionView 作为 iOS 中 APPLICATION 的 HEADER
Posted
技术标签:
【中文标题】UICollectionView 作为 iOS 中 APPLICATION 的 HEADER【英文标题】:UICollectionView as the HEADER of the APPLICATION in iOS 【发布时间】:2017-06-26 06:15:37 【问题描述】:我想将UICollectionView
设置为应用程序的标题。请看下面的图片:-
在这张图片中,我必须在红色椭圆区域添加一个集合视图。几乎有 15-20 个选项。而且我必须从所有选项中打开不同的视图控制器。
有什么办法可以添加一个 UICollectionView 作为 APPLICATION 的 HEADER 吗?
任何帮助将不胜感激。
【问题讨论】:
您是否使用 uitableview 列出以下选项? 现在我已经在所有视图控制器中添加了该集合视图。所以我想让它全球化。 【参考方案1】:您似乎需要有关视图控制器架构和 UI 设置的指导。我建议您进行以下快速设置:
MainViewController,包含以下视图 -
CollectionView 作为标题 ContentViewController 的视图作为子视图(添加为 childViewController),具有特定于从父视图控制器传递给它的类型的表/UI 和数据(当从集合视图中选择类型时)。MainViewController 管理从集合中选择的选项,并在此基础上设置内容视图控制器。
如果您的 UI 因不同的标题选项/类型而不同,您可以使用不同的视图控制器作为 ContentViewController,或者如果 UI 相同,则使用相同的类但不同的实例。
【讨论】:
【参考方案2】:终于解决了!!感谢@Tushar,帮助我找出解决方案。
我刚刚创建了一个控制器。在那个控制器中,我在标题上添加了UICollectionView
。在此之前,添加了一个UIView
。
现在,当我们点击集合视图时,我已经创建了另一个控制器的对象,我希望在下面添加它。并将该视图添加为子视图。请参考以下代码:-
FirstViewController *firstViewObj = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
[self addChildViewController:firstViewObj];
firstViewObj.view.frame=myContentView.bounds;
[myContentView addSubview:firstViewObj.view];
[firstViewObj didMoveToParentViewController:self];
//[firstViewObj willMoveToParentViewController:nil];
请下载Demo Code了解更多详情。
希望,这就是您要找的。任何问题都可以回复我。 :)
【讨论】:
以上是关于UICollectionView 作为 iOS 中 APPLICATION 的 HEADER的主要内容,如果未能解决你的问题,请参考以下文章
iOS版;以编程方式uicollectionView与自定义标头
具有 UIView 作为子视图的 UICollectionView 的选择性手势识别
将最小部署目标升级到 iOS 14 后,UICollectionView 停止显示单元格
ios UICollectionView 单元格选择和取消选择问题