【发布时间】:2016-06-04 15:28:13
【问题描述】:
我正在尝试以编程方式打开 UINavigationController。 这是我的代码:
UIViewController *vc = [[UIStoryboard storyboardWithName:@"Storyboard"
bundle:nil] instantiateViewControllerWithIdentifier:@"ViewControllerID"];
UINavigationController *nc = [[UINavigationController alloc]
initWithRootViewController:vc];
nc.modalTransitionStyle = UIModalPresentationNone;
[self presentViewController:nc animated:YES completion:NULL];
我不断收到以下错误:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“不支持推送导航控制器”
【问题讨论】:
-
我已经多次像这样推送导航控制器,除了我使用 initWithNib 创建了 rootViewController(在您的代码中为 vc): bundle:我建议暂时更改 viewController 的创建(也许使用一个普通的 UIViewController 而不是你自己的类)来看看它是否有效。我猜你的问题可能是这个 viewController 是如何连接到情节提要的。
-
我猜你的
vc实际上是UINavigationController而不是UIViewController。您也不应该将modalTransitionStyle设置为UIModalPresentationNone,这甚至不是正确的枚举类型。
标签: ios objective-c uinavigationcontroller