デバイスの向きを縦向きから横向きに変更してViewControllerを変更するというAppleの推奨事項に従うようにしています。コードを実行すると、常にエラー メッセージが表示されます。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Application tried to present a nil modal view controller on target
.
私は問題が何であるかを理解できません。実行が終了する部分 (PortraitViewController の一部) は次のとおりです。
- (void)updateLandscapeView
{
UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;
if (UIDeviceOrientationIsLandscape(deviceOrientation) && self.presentedViewController == nil){
if (!self.resultViewLandscapeViewController){
[self.storyboard instantiateViewControllerWithIdentifier:@"LandscapeViewController"];
NSLog(@"LandscapeView initiated"); //this is called when device is turned
}
[self presentViewController:self.resultViewLandscapeViewController animated:YES completion:NULL];
//after the code above the execution is interrupted and the error message is thrown
}
else if (deviceOrientation == UIDeviceOrientationPortrait && self.presentedViewController != nil){
[self dismissViewControllerAnimated:YES completion:NULL];
}
}