iPhone:从UINavigationController堆栈弹出modalViewController

时间:2009-02-18 02:32:53

标签: iphone cocoa-touch cocoa

自从我采用我的一个UIViewController子类并以模态视图的形式呈现给用户时,使用presentModalViewController:animated ..我无法使用以下方法将其解除:

[self dismissModalViewControllerAnimated:YES];

我确实认为这是我在modalViewController上实例化UINavigationController的一些奇怪的混淆,代码如下所示(类似的代码也在App Delegate中):

UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
navigationController =
    [[UINavigationController alloc] initWithRootViewController:self];
navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;
[window addSubview:navigationController.view];
[window makeKeyAndVisible];

导航堆栈按预期工作,但除非我将其删除,否则我无法再解除模态视图控制器。我的印象是我不应该多次向UIWindow添加一个subView,这只是其中一个问题。

1 个答案:

答案 0 :(得分:1)

确保在模态视图控制器的父级上调用dismissModalViewControllerAnimated,而不是在模态视图控制器本身上调用。