0

親View Controllerと別のモーダルView Controllerがあります。親のコンテキスト内でモーダル ビュー コントローラーを提示しました。

readingViewController * reading_view_controller = [[readingViewController alloc] initWithNibName:@"readingViewController" bundle:nil];
[self setModalPresentationStyle:UIModalPresentationCurrentContext];
[self presentModalViewController:reading_view_controller animated:YES];

親viewControllerは横向きになりません。だから、私はこれらのメソッドを親viewControllerに追加しました:

- (NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskPortraitUpsideDown|UIInterfaceOrientationMaskPortrait;
}


-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
    return (toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown);
}

提示された viewController (モーダルに提示された) は、考えられるすべての方向を向いている必要があります。だから、私はこれらのメソッドを追加しました:

- (NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskAll;
}

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{

    return YES;
}

しかし、私は (UIModalPresentationCurrentContext) を想定していたので、IOS 5.0 では期待どおりに動作しているのに、提示された viewController は IOS 6.0 では向きません。

この問題を解決する方法を教えてください。

4

2 に答える 2

0

実装する必要があります

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation;

例:-

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationMaskAll;
}
于 2013-01-19T10:18:16.750 に答える