添加多个视图以查看选项卡控制器内的控制器

时间:2008-10-26 11:56:39

标签: iphone objective-c cocoa-touch

我有一个tabview控制器,我在其中为每个标签添加了一个UIViewController。我想在UIViewController中有多个UIView。

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

但是,如果我只使用了一个UIView并执行了:self.view = UIView1可以正常工作。

有谁知道导致问题的原因是什么?或者,如果我做了一些根本错误的事情?

2 个答案:

答案 0 :(得分:3)

假设您是以编程方式执行此操作,那么您应该在视图控制器的loadView方法中创建视图。所以你必须这样做:

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

在你这样做之前:

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

否则,self.view将为零。

答案 1 :(得分:1)

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

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