模型视图的ipad方向问题

时间:2011-11-25 05:05:51

标签: objective-c ipad ios5 ipad-2

我在主视图中有按钮,当我点击主视图按钮模型视图时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;

如果知道请重播,提前谢谢。

1 个答案:

答案 0 :(得分: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;

这将正确居中模态视图。