我在主视图中有按钮,当我点击主视图按钮模型视图时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;
如果知道请重播,提前谢谢。
答案 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;
这将正确居中模态视图。