旋转时更改UIScreen的大小

时间:2011-07-08 19:46:29

标签: ios orientation rotation bounds cgrect

我制作的iPad应用程序以纵向方向开始,但可以旋转到横向方向。在 - (void)loadView中,我调用了函数drawView。在drawView中,我有这行代码:

CGRect r = [[UIScreen mainScreen] bounds];

唯一的问题是当我旋转到横向模式时它不会自动更新,因此它仍然认为屏幕处于垂直方向,如果我想要一个文本视图扩展到整个屏幕,它在第768个像素处切断它,而不是第1024个像素。在 - (BOOL)shouldAutorotate ...我有案例UIInterfaceOrientationLandscapeRight:和案例UIInterfaceOrientationLandscapeLeft:,我将不得不理想地放置CGRect r = [[UIScreen mainScreen] bounds];在每种情况下,但我认为这不会起作用。有什么建议?谢谢你的帮助!

编辑:我甚至尝试用

调用函数
CGRect r = [[UIScreen mainScreen] bounds];

在其中,但它仍然无法正常工作。我在它之后放置了一个NSLog并且我收到了响应,因此该应用程序肯定正常工作而不会崩溃,但我仍然无法弄清楚这一点。有任何想法吗?谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

我认为您的问题可以通过使用autoresizingMask;

UIView来解决

答案 1 :(得分:0)

您的应用是否恰好依赖plists进行配置?我已经看过一些应用程序,你可以获得横向,但只有在你将方向键设置为false之后。