私の iPad 上の TabBar ベースのアプリでは、UIViewController.presentViewController:animated:completion を呼び出して、モーダルなポップアップ ビューを表示する必要があります。
iOS5 ではこれで問題なく動作します。しかし、iOS6 では、デバイスが上下逆になっていると、ポップアップ ビューが上下逆に表示されます。ディスプレイの上から上下逆さまにアニメーションします。
デバイスが上下逆さまであると言うとき、LandscapeLeft (左側のボタン) と PortraitUpsideDown (上部のボタン) を意味します。他の 2 つの方向では、ポップアップは下から上にアニメーション化され、予想どおり右側が上になります。
この問題は、アプリで使用している 3 つのポップアップ ビューすべてで発生します。そのうちの 2 つは UIViewController のサブクラスで、3 つ目は MFMailComposeViewController です。
ビューを表示するには、次のようなコードを使用します。
MyModalViewController * tmpModal = [[MyModalViewController alloc] init];
tmpModal.modalPresentationStyle = UIModalPresentationFormSheet;
tmpModal.contentSizeForViewInPopover = CGSizeMake(350,450);
[self.tabBarController presentViewController:tmpModal
animated:TRUE
completion:^
{
}];
iOS6 回転デリゲート メソッドを 2 つの UIViewController ベースのビューに追加しましたが、効果はありませんでした。
いいえ:
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
それは少しも役に立ちませんでした。
この問題を経験したのは私だけでしょうか?