これを使用して、モーダル ダイアログの幅と高さを変更しています
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterface {
if (UIInterfaceOrientationIsLandscape(self.interfaceOrientation)) {
self.view.superview.frame = CGRectMake(74, 170, 380.0f, 712.0f);
}
}
作品は 1 つのself.view.superview.frame = CGRectMake(74, 170, 380.0f, 712.0f);
風景で動作しますが、iPad を回転させると、y 位置が低すぎます。両方のランドスケープで同じ y 位置にある必要があります。
編集
これはうまくいきます。それが最良の答えかどうかはわかりません。より良い回答を受け入れます。
if (UIInterfaceOrientationIsLandscape(self.interfaceOrientation)) {
self.view.superview.frame = CGRectMake(174, 170, 380.0f, 712.0f);
self.view.superview.transform = CGAffineTransformTranslate(self.view.superview.transform,0,-72);
}