自从我采用了我的 UIViewController 子类之一并将其以模态视图的形式呈现给用户,并使用 PresentModalViewController:animated ..我一直无法使用以下方法将其关闭:
[self dismissModalViewControllerAnimated:YES];
我确实相信这与我在 modalViewController 上实例化 UINavigationController 的方式有些奇怪的混淆,代码如下所示(类似的代码也位于应用程序委托(delegate)中):
UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
navigationController =
[[UINavigationController alloc] initWithRootViewController:self];
navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;
[window addSubview:navigationController.view];
[window makeKeyAndVisible];
导航堆栈按预期工作,但除非将其删除,否则我无法再关闭模态视图 Controller 。我的印象是我不应该多次向 UIWindow 添加 subview ,这只是问题之一。
最佳答案
确保在模态视图 Controller 的父级上调用dismissModalViewControllerAnimated,而不是在模态视图 Controller 本身上调用。
关于iPhone:从 UINavigationController 堆栈中弹出 modalViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/559630/