iOS 5になって動作しなくなった ModalView での NavigationController
今回やっちまったのは、アプリケーションで ModalView を表示して、その ModalView は NavigationController でできてるって構成。
例えばアプリケーションの MainView にある「ModalView」ボタンをタップすると、下からニョロっと MyModalTopView が上がってくる。
このアプリケーションの MainViewController にはこんな感じのコードがあって ModalView を表示してる。
- (IBAction)tapModalViewButton:(id)sender { MyModalTopViewController *modalTopViewController = [[MyModalTopViewController alloc] initWithNibName:@"MyModalTopViewController" bundle:nil]; UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:modalTopViewController]; [self presentModalViewController:navigationController animated:YES]; }
そして MyModalTopViewController にはこんな感じのコードがあって、ナビゲーションバーの「Done」ボタンをタップすると呼び出されて ModalView を消して MainView が表示される。
- (IBAction)tapDoneButton:(id)sender { [[self.navigationController parentViewController] dismissModalViewControllerAnimated:YES]; }
このコード、iOS 4.3.5 までは動いていた。
でも iOS 5 になったら「Done」ボタンをタップしても何も起きない。
さて困った。