2

半透明のビュー ( )をモーダルに表示するUIViewController( と呼ばれる) があります。MainViewControllerHelpOverlayViewController

HelpOverlayViewController *helpOverlayViewController = [[HelpOverlayViewController alloc] init];
self.modalPresentationStyle = UIModalPresentationCurrentContext;
helpOverlayViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:helpOverlayViewController animated:YES completion:nil];

が表示されているときにユーザーがデバイスを回転させると、回転するだけで、親コントローラーはHelpOverlayViewController回転HelpOverlayViewControllerしません。は半透明で、その下に見えるMainViewControllerため、これは問題です。HelpOverlayViewControllerMainViewController

両方のコントローラーにメソッドがあります

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}

どちらも独立してよく回転します。

モーダルビューが回転するときに、下にあるビューコントローラーを強制的に回転させる方法はありますか?

4

1 に答える 1

0

このような問題は、iOS 6 では回転を処理するモデルが異なるため、大部分が解決される可能性が高いことはわかっています。

しかし、それは今あなたを助けません。HelpOverlay を UIViewController ではなく UIView にするだけのほうがよいかもしれません。この半透明のビューを MainViewController (またはその他) の上部に追加できます。このサブビューをビュー階層に追加すると、アニメーション (フェードインなど) を作成できます。このモデルを使用すると、回転の問題がなくなります。

于 2012-08-13T17:50:26.630 に答える