1

UIViewにいくつかのUIボタンを表示しているUIViewController(controller1)があります。ボタンの1つがクリックされたら、2番目のUIViewController(まったく異なるコントローラークラスのcontroller2)をインスタンス化して、プログラムでいくつかのUIViewを作成し、controller1によって管理されているUIViewの1つに追加します。

したがって、controller1では次のコードが必要です。

- (void) someButtonPressed: (id)sender
{
    ViewController2* controller2 = [ [ ViewController2 alloc ] initWithNibName:nil bundle:nil ];
}

次に、controller2内に追加のUIViewをプログラムで作成したいと思います。理想的には、controller1内に(ビューなどを追加するために)それ以上のコード行はありません。本当にすべてのビューを作成し、controller2コード内から既存のビューに追加したいと思います。

私はこれを行うことができますか、そしてどのように?次のコードをcontroller2に配置してみました。

- (void)loadView
{

    NSLog(@"HPSViewEditorViewController loadView");

}

しかし、それは呼び出されません。

controller2のUIView階層全体をcontroller2コードにカプセル化し、controller2のインスタンス化以外のものでcontroller1を「乱雑に」したくありません。

ありがとう。

4

2 に答える 2

0

私は何かを試してみます

[viewController1 presentModalViewController:viewController2 animated:YES];

これはトリックを行うことができます...

于 2012-05-22T20:00:09.070 に答える
0

UIViewController クラスリファレンスから:

ビュー コントローラーは、ビュー プロパティが要求されたときにこのメソッドを呼び出しますが、現在は nil です。このメソッドは、ビューをロードまたは作成し、それをビュー プロパティに割り当てます。

-loadView は、controller2.view が参照されるまで呼び出されません。

于 2012-05-22T19:54:00.633 に答える