0

2つのタブがあるタブバーベースのiOSアプリがあります。2番目のビューにタブで移動すると、すぐにモーダルビューがユーザーに表示されるようにしたいと思います。これが私の簡単なコードです...

- (void)viewDidAppear:(BOOL)animated
{
 [super viewDidAppear:animated];

 MyViewController_iPhone *myVC = [[MyViewController_iPhone alloc] initWithNibName:@"MyView" bundle:nil];
 [[self navigationController] presentModalViewController:myVC animated:YES];
 [myVC release];
}

アプリとタブを2番目のビューで実行すると、モーダルビューが表示されません。デバッガーでステップスルーすると、デバッガーはこれらのコード行がすべて正常に実行されていることを示しますが、それでも画面には何も表示されません。IBでは、すべてのクラスと接続が「MyView」ペン先に正しく設定されています。助言がありますか?

また、私はiOS開発に慣れていないので、これが正常かどうかはわかりませんが、デバッガーでこれを実行すると、2番目のタブのビューのviewDidAppearメソッドを実行していることに気付きます。 、それでもiOSデバイスを見ると、アプリはまだ最初のタブのビューを表示しています。特定のビューに対してviewDidAppearメソッドをステップ実行している場合、そのビューはその時点でデバイスに表示されるべきではありませんか?

よろしくお願いします!

4

1 に答える 1

2

ビューがタブバーベースのアプリにあると言いますが、タブにUINavigationControllersが含まれているかどうかについては言及していません。[self NavigationController]の結果でpresentModalViewController:animated:を呼び出しているので、これについて言及します。何も起こらない場合は、nilであると思われます。代わりに[selftabBarController]で呼び出したいと思ったのではないでしょうか。

于 2010-09-01T22:50:18.463 に答える