0

我希望仅在笔尖中显示视图控制器的视图,但是当我调用 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;

演示后立即,但这似乎是一个黑客。

4

1 回答 1

0

正如您在 developer.apple 讨论中看到的presentModalViewController:animated:

讨论

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

于 2013-03-22T23:06:33.177 回答