モデルビューによるipadの向きの問題

メインビューのボタンがあります。メインビューのボタンモデルビューをクリックすると、Mv1が開きます.Mv1モデルビューの幅と高さは730と620.inポートレートモードです。メインビューではMv1モデルビューのショーセンターですが、ランドスケープモードで表示されます。メインビューでは中央に垂直に表示されません。

メインビューボタンクリックコーディング: -

Mv1 *Mv1obj = [[Mv1 alloc]initWithNibName:@"Mv1" bundle:nil];
UINavigationController*nav[[UINavigationControlleralloc]initWithRootViewController:Mv1obj];
nav.modalPresentationStyle=UIModalPresentationFormSheet;
nav.modalTransitionStyle=UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:nav animated:YES];
nav.view.superview.frame = CGRectMake(0, 0,730,620);
nav.view.superview.center = self.view.center;

知っている場合は、リプレイしてください、事前に感謝します。

0

1 答え

ここで問題となるのは、センターを設定するときの向きを考慮する必要があるため、次のように置き換えます。

nav.view.superview.center = self.view.center;

のようなもので

UIDeviceOrientation orientation = ([[UIDevice currentDevice] orientation]);
const CGPoint centerPortait = self.view.center;
const CGPoint centerLandscape = CGPointMake(centerPortait.y, centerPortait.x);
const CGPoint center = (orientation == UIDeviceOrientationPortrait) ? centerPortait : centerLandscape;
nav.view.superview.center = center;

これはモーダルビューを正しく中央に配置します。

0
追加された