1

我有一个 tabview 控制器,我在每个选项卡中添加了一个 UIViewController。我想在 UIViewController 中有多个 UIView。

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

但是,如果我只使用了一个 UIView 并且做了: self.view = UIView1 那会很好用。

有谁知道是什么导致了这个问题?或者,如果我做的事情根本上是错误的?

4

2 回答 2

3

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

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

在你这样做之前:

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

否则,self.view 将为零。

于 2008-10-26T17:05:21.207 回答
1

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

  • 你是如何获得 view1 和 view2 的?
  • 它们是您的 XIB 文件中的出口(您是在使用 XIB 文件,还是在代码中创建所有内容),还是在代码中创建它们?
  • 您在 UIViewController 子类中的哪个位置将它们添加到您的视图成员变量中?
  • 崩溃时打印到控制台的消息是什么?
于 2008-10-26T12:45:14.540 回答