UIViewController的视图在呈现后立即更改维度

时间:2013-03-22 23:00:45

标签: ios ipad uiviewcontroller

我想要一个视图控制器的视图,只是它在nib中,但是当我调用presentModalViewController时,尺寸会被改变:animated:如下面的代码所示:

CGRect frame = viewController.view.frame;
NSLog(@"%f %f %f %f", frame.origin.x, frame.origin.y, frame.size.width, frame.size.height); 

[self presentModalViewController:viewController animated:YES];

frame = viewController.view.frame;
NSLog(@"%f %f %f %f", frame.origin.x, frame.origin.y, frame.size.width, frame.size.height);

输出:

0.000000 0.000000 297.000000 452.000000
0.000000 0.000000 540.000000 620.000000

导致此更改的原因是什么,我该怎么做才能阻止它?

我知道我可以插入

viewController.view.superview.frame = frame;

出现后立即,但这似乎是一个黑客。

1 个答案:

答案 0 :(得分:0)

正如您在developer.apple中关于presentModalViewController:animated:

的讨论中所见

<强>讨论

将modalViewController属性设置为指定的视图控制器。 调整其视图并将其附加到视图层次结构。视图根据modalViewController参数中控制器的modalTransitionStyle属性中指定的过渡样式进行动画处理。

相关问题