添加多个视图来查看控制器内的标签控制器

问题描述:

我有一个tabview控制器,我添加了一个UIViewController到每个选项卡。我想在UIViewController中有多个UIViews。添加多个视图来查看控制器内的标签控制器

所以在UIViewController类的实现中,我添加了[self.view addSubView:uiview1]和[self.view addSubView:uiview2]。问题是,当我运行该应用程序时,它会在负载时发生。

但是,如果我只使用一个单独的UIView,并且做到了:self.view = UIView1,它可以正常工作。

有谁知道是什么原因造成的问题?或者如果我正在做一些根本错误的事情?

假设您以编程方式执行此操作,您应该在视图控制器的loadView方法中创建视图。在这之前

self.view = [[[UIView alloc] initWithFrame:someFrame] autorelease]; 

:所以,你必须这样做

[self.view addSubview:uiview1]; 
[self.view addSubview:uiview2]; 

否则,self.view将是零。

+1

这不是真的。一个UIViewController的视图是免费为你创建的,只要你不重写 - (void)loadView。 只需在 - (void)viewDidLoad中添加子视图。 – Amagrammer 2009-07-25 14:50:57

没有理由在你的UIViewController的主视图成员变量中不能有多个视图。但是,在您的问题中仍有相当多的项目未答复:

  • 您如何获取view1和view2?
  • 它们是否在XIB文件中出现(您是使用XIB文件,还是在代码中创建所有内容),还是在代码中创建它们?
  • 在你的UIViewController子类中,你将它们添加到你的视图成员变量中?
  • 什么信息在控制台崩溃时打印出来?