之前已经问过这个问题,但我发现的答案都不正确,或者至少它们在iOS 5上不起作用
我正在尝试在我的UISplitViewController上显示一个模态(在iOS 5上),到目前为止我还没有运气。 大多数帖子提到我的mainViewController中的模态,这似乎对我没用。
我尝试使用segue或者在代码中手动执行模式,来自UISplitViewController和我的主UIViewController,它总是给我以下错误:
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'应用程序尝试以模态方式呈现拆分视图控制器
这个错误是错误的,我没有尝试以模态方式显示splitView,我试图从splitView显示模态
还有其他解决方案吗?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSLog(@"%@", self.window.rootViewController);
// It prints out UISplitViewController
// I tried this
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *viewController = [storyBoard instantiateViewControllerWithIdentifier:@"LoginViewController"];
[self.window.rootViewController presentModalViewController:viewController animated:NO];
// Also tried this
[self.window.rootViewController performSegueWithIdentifier:@"LoginSegue"];
return YES;
}
答案 0 :(得分:1)
错误消息表明您的loginViewController
是UISplitViewController
。这不会起作用,因为你无法以模态方式显示拆分视图。
否则我的代码中没有错误,我使用presentModalViewController:animated:
毫无问题地在iOS 5.1上实现了您想要实现的目标。