这让我有点混淆。我知道UIScreen中关于尺寸屏幕的2个属性,就像在这个问题中使用applicationFrame,而这个属性使用bounds。Iphone,iPad的屏幕尺寸与编程方式的肖像和ladscape模式
- applicationFrame - 显示设备的大小减去statusBar。在iPhone中制作一个NSLog,我得到这个值:(x = 0,y = 20,height = 460,width = 320)
- 界限 - 显示所有大小屏幕。的值是:(X = 0,Y = 0,高度= 480,宽度= 320)现在
,如果我旋转设备(potrait到ladscape)这将显示 (的边界将是所有的相同的值)
- 转到发挥功能:shouldAutorotateToInterfaceOrientation:x = 0时Y = 20高度= 460宽度= 320
- 返回YES,以便
- 转到功能:didRotateFromInterfaceOrientation:X = 20 Y = 0他飞行= 480宽度= 300
- 我不知道为什么,但是这通一个更shouldAutorotateToInterfaceOrientation和放映时间:X = 20 Y = 0高度= 480宽度= 300(这是一个错误?)
我想调整我的视图到这个新的大小,但如果我得到的CGRect,它会给在didRotateFromInterfaceOrientation正确的大小,高度将是宽度,反之亦然。
有没有一种很好的方式来美观地调整我的视图的大小,而无需手动设置这些值?
你看过autoresizingMask吗? – dasdom 2011-06-08 14:20:05
你使用UIViewController来显示你的视图吗? – 2011-06-17 19:25:27