使用集合视图使视图控制器可滚动

Posted

技术标签:

【中文标题】使用集合视图使视图控制器可滚动【英文标题】:make view controller scrollable with collection view 【发布时间】:2016-09-27 00:15:00 【问题描述】:

我需要像这样或像用户 instagram 的个人资料一样创建一个视图控制器

不完全相同,我只是想添加标签和按钮以及集合视图, 但我希望所有这些都在滚动视图控制器中 我想我不能从情节提要中做到这一点,那么如何以编程方式使视图控制器可滚动? 然后我想在滚动中添加标签和按钮,我可以通过编程方式进行,但是如何在其中以编程方式添加集合?

【问题讨论】:

为什么要以编程方式使用?我建议故事板,以便于添加和排列对象.. @MohanSingh 我如何在故事板中做到这一点?当标签中有长文本时,我需要滚动视图控制器 对不起,我无法理解您到底需要什么。我说取决于该图像,使用滚动视图。如果您需要更改故事 Bord 上 view 的高度,请点击此链接。 ***.com/questions/39301896/… @MohanSingh 谢谢你,这正是我所需要的!!但是我想在这个scrollView中添加一些标签,标签的内容和高度取决于用户在其中输入的内容,所以contentView的高度不固定,它应该取决于标签高度和viewcontroller中的其他对象,我该怎么做? 【参考方案1】:

一种可能的解决方案是使整个容器成为“UICollectionView”或“UITableView”,具体取决于您想要构建的内容,然后根据您想要的内容为每个区域创建一个自定义单元格显示在里面。

一开始可能听起来有点奇怪,但您会注意到这是一种处理场景滚动的好方法,包括一些额外的好功能,例如:

为“UIKeyboardWillShowNotification”和“UIKeyboardWillHideNotification”事件自动调整滚动内容的大小。 从 UI 中轻松显示和隐藏部分(实际上它们是单元格!)。

已更新:例如:

您可以将第一部分(红色矩形)设为UICollectionReusableView,并通过在其中添加图像和按钮来自定义它,第二部分(蓝色方块)作为UICollectionViewCell 等等...

这是您如何做到这一点的总体思路。

【讨论】:

我真的听不懂你说什么,你能做到吗?

以上是关于使用集合视图使视图控制器可滚动的主要内容,如果未能解决你的问题,请参考以下文章

使 splitViewController 的细节部分可滚动?

如何使用 Objective-C 以编程方式使我的 UIView 可水平滚动?

Swift:如何使滚动视图执行子视图控制器 viewDidLoad

启用分页时将水平可滚动集合视图的单元格居中并使其他单元格部分可见

滚动视图与集合视图。获取“可见图像”

IOS:使整个视图可滚动,而不仅仅是子视图