0

我在主视图中有按钮,当我单击主视图按钮时,模型视图 Mv1 已打开。Mv1 模型视图的宽度和高度为 730 和 620。在纵向模式下,Mv1 模型视图在主视图中显示中心,但在横向模式下,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;

如果知道请重播,在此先感谢。

4

1 回答 1

0

这里的问题是您在设置中心时需要考虑方向,因此替换该行:

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;

这将正确地居中模态视图。

于 2011-12-29T23:00:18.593 回答