在方向改变后检测UIView的旋转宽度/高度

eod*_*ash 1 uikit uiview ios

我希望能够检查可能已经或可能没有从其原始方向旋转的UIView实例(例如,通过用户旋转设备)并确定"真实"宽度和高度是什么."真"在这里的意思,如果在纵长的iPad的看法是768x1024的转动之前,导横盘之后我会计算新的宽度为1024,新高度为768.

看来,如果我将视图的变换应用于它的frame属性,如下所示:

CGRect rotated = CGRectApplyAffineTransform([myview frame], [myview transform);
Run Code Online (Sandbox Code Playgroud)

我得到了理想的结果.然而,Apple的文档声明如果视图的变换不是身份变换,UIView :: frame是未定义的,那么依靠这个计算可能不是一个好主意?

Sim*_*mon 5

view.bounds 将返回你想要的矩形

view.frame 将返回一个矩形,其中transfrom应用于边界以及位置.