在 TabViewController 中创建 UIScrollView
Posted
技术标签:
【中文标题】在 TabViewController 中创建 UIScrollView【英文标题】:Create UIScrollView within TabViewController 【发布时间】:2016-03-08 20:17:34 【问题描述】:我正在开发一个有 TabBarController 的应用程序,并且在第一个选项卡中,我希望有一个 UIScrollView(或其他允许我滚动的东西),它将滚动浏览几个不同的 ViewController。
所以基本上当单击第一个选项卡时,它会转到 UIScrollView,然后您可以滚动 ViewControllers1-3
单击第二个选项卡并转到 ViewController 4
单击第三个选项卡并转到 ViewController 5
Tab 控制器似乎是最简单的部分,但将 UIScrollView 控制器放入其中似乎并没有什么效果。
有人做过这样的事吗?你介意解释一下是怎么做的吗?
【问题讨论】:
【参考方案1】:似乎构建起来非常简单:
-
创建您的 5 个视图控制器。
创建一个带有
UIScrollView
子视图的容器视图控制器。将视图控制器的 1、2 和 3 中的视图添加到滚动视图,将它们垂直堆叠。因此,如果视图 1 插入到 0,0
,视图 2 将插入到 0, view1.view.frame.size.height
,视图 3 将插入到 0, view1.view.frame.size.height + view2.view.frame.size.height
。
将滚动视图的contentSize
设置为三个视图控制器的高度 (viewController1.view.frame.size.height + viewController2.view.frame.size.height + viewController3.view.frame.size.height
)。
使用 3 个选项卡创建您的 UITabBarController
,一个用于带有滚动视图的容器视图控制器(包含视图控制器 1-3),一个用于视图控制器 4,一个用于视图控制器 5。
【讨论】:
【参考方案2】:我会尝试在第一个选项卡上使用 ContainerViewController。将容器视图控制器拖动到滚动视图上并调整其大小。然后删除附带的 ViewController 并创建一个 segue 到要使用 embed 滚动的视图控制器。
【讨论】:
以上是关于在 TabViewController 中创建 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章