如何将多个视图添加到 UIScrollView

Posted

技术标签:

【中文标题】如何将多个视图添加到 UIScrollView【英文标题】:How to add multiple Views to UIScrollView 【发布时间】:2012-07-27 07:38:28 【问题描述】:

我有一个 ScrollView (contentScrollView),它稍后应该包含 20 个页面,每个页面都有一个 UIViewController。

现在这是我将 UIViewControllers 视图添加到 contentScrollView 时得到的(右上角的 Button 来自 MainViewController,因此不会影响问题)

我在 contentScrollView 所在的 MainViewController 类中得到了这段代码:

 Slide1ViewController*test = [[Slide1ViewController alloc] init];
test.view.frame = CGRectMake(0, 0, 1024, 768);
[self.contentScrollView addSubview:[test view]]; 

当我在设置框架后添加这样的背景时:

test.view.backgroundColor = [UIColor blackColor];

然后我得到黑色背景,顶部没有那个 Bar,但 Slide1ViewController.xib 中的标签不会出现。

希望有人可以帮助我。

【问题讨论】:

试试[contentScrollView addSubview:test.view];并确保滚动视图的内容大小与测试类的框架相匹配 感谢您的回答我刚刚更改了您的代码,但仍然没有帮助获得导航栏 你需要将view的添加到scrollView,不是view controller的...... 但我这样做了?我添加了 test.view ->test 是 UIViewController 并且 view 是它的视图 【参考方案1】:

如果你真的需要 20 个页面,每个页面都有一个视图控制器,你应该使用 uinavigationcontroller,如果你真的想要一个滚动视图,请使用 uitableview 并使每个单元格成为你的一个 uiviewcontroller 的视图,因为这样每个视图将在需要时加载,而在滚动视图中,您可能会同时加载太多竞争。

【讨论】:

但我需要水平滑动页面,是否也可以使用 tableview?【参考方案2】:

很抱歉,我没有意识到 UINavigationController 仍然被选中,所以我创建了这个类,同时相信它是一个 UIViewController

【讨论】:

以上是关于如何将多个视图添加到 UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章

如何将多个模型添加到一个视图?

如何将多个小部件同时添加到滚动视图?

我应该如何将多个图像添加到视图中?

如何将多个委托添加到我的视图控制器?

在drupal 7中,由于多个附件,将表单添加到视图会产生多个相同的表单,如何只保留一个?

在 RecyclerView 中使用多个视图类型时如何将项目添加到所需的 ViewHolder 位置?