1

各タブに UIViewController を追加した tabview コントローラーがあります。UIViewController 内に複数の UIView が必要です。

そこで、UIViewController クラスの実装で [self.view addSubView:uiview1] と [self.view addSubView:uiview2] を追加しました。問題は、アプリを実行すると、ロード時にクラッシュすることです。

ただし、単一の UIView のみを使用して実行した場合: self.view = UIView1 は正常に動作します。

誰が問題の原因を知っていますか? または、根本的に間違ったことをしている場合は?

4

2 に答える 2

3

これをプログラムで実行していると仮定すると、ViewControllerのloadViewメソッドでビューを作成することになっています。したがって、これを行う必要があります。

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

これを行う前に:

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

それ以外の場合、self.viewはnilになります。

于 2008-10-26T17:05:21.207 に答える
1

UIViewControllerのメインビューメンバー変数内に複数のビューを含めることができない理由はありません。ただし、質問には未回答の項目がかなりあります。

  • view1とview2をどのように取得していますか?
  • それらはXIBファイルのアウトレットですか(XIBファイルを使用していますか、それともすべてをコードで作成していますか)、それともコードで作成していますか?
  • UIViewControllerサブクラスのどこで、それらをビューメンバー変数に追加しますか?
  • クラッシュしたときにコンソールに出力されるメッセージは何ですか?
于 2008-10-26T12:45:14.540 に答える