应用程序在关闭模态视图控制器时崩溃

时间:2015-10-10 17:27:53

标签: ios objective-c uiviewcontroller

在我的应用程序中,我有另一个屏幕的第二个视图控制器。此视图控制器有一个关闭按钮,用于模拟视图控制器。按下此关闭按钮后,应用程序崩溃。它崩溃时出现以下错误:

 *** Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'preferredInterfaceOrientationForPresentation must return a supported interface orientation!'

这是我在第二个视图控制器的.m

中用来关闭视图控制器的方法
- (IBAction)done {

    [self dismissViewControllerAnimated:YES completion:nil];
    //[self dismissModalViewControllerAnimated:YES];

}

崩溃发生在[self dismissViewControllerAnimated:YES completion:nil];

在我的主视图控制器中使用此方法显示第二个视图控制器:

-(IBAction)switchViews {

    [self presentViewController:secondView animated:YES completion:nil];
    //[self presentModalViewController:secondView animated:YES];
}

与主视图控制器中的旋转相关的代码:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return YES;
}

- (BOOL)shouldAutorotate {
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations {

    return UIInterfaceOrientationMaskAllButUpsideDown;

}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return UIInterfaceOrientationMaskPortrait;
}

我无法解决此问题。我查了那个错误并尝试了各种解决方案,但没有任何效果。为什么会发生这种崩溃?我做错了什么?

如果您需要更多信息,请告诉我们。

1 个答案:

答案 0 :(得分:1)

你回错了。它期望的值是UIInterfaceOrientationPortrait,但您返回UIInterfaceOrientationMaskPortrait。注意Mask部分。