iPhone:从 UINavigationController 堆栈中弹出 modalViewController

标签 iphone cocoa-touch cocoa

自从我采用了我的 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/

相关文章:

cocoa-touch - 限制 UITextView 中的文本

objective-c - 从 NSString 获取第一个 32 位(4 字节)数字

cocoa - 如何在 cocoa 中检测电源键何时被按下?

Objective-C:断言 vs. 异常 vs. 错误

c# - cocoaasynsocket到C Sharp服务器

iphone - iOS - 初始化 UIViewControllers

iphone - 如何使用 iPhone 的摄像头跟踪运动?

iphone - 在 iOS 中移除键盘的阴影

iPhone:如何使用 NSUserDefaults 存储 UIImage?

cocoa - NSFileManager -copyItemAtPath :toPath:error: fails with read-only folder