[英]Detecting rotated width/height of UIView after orientation change
我希望能够检查一个UIView实例,该实例可能已经或可能尚未从其原始方向旋转(例如,通过用户旋转设备),并确定“真正的”宽度和高度。 “ true”在这里的意思是,如果在旋转前在纵向iPad上的视图是768x1024,则在侧向旋转之后,我会计算出新宽度为1024,新高度为768。
看来,如果我将视图的转换应用于其frame属性,如下所示:
CGRect rotated = CGRectApplyAffineTransform([myview frame], [myview transform);
我得到了预期的结果。 但是,Apple的文档指出,如果视图的转换不是身份转换,则UIView :: frame是未定义的,因此依靠此计算可能不是一个好主意吗?
view.bounds
将返回您想要的矩形
view.frame
将返回一个rect,并将transfrom应用于位置以及位置。
好吧,由于缺乏输入,我将使用以下解决方案:
CGRect rotated = CGRectApplyAffineTransform([myview frame], [myview transform);
获得正确定向的边界。 如果有人有其他解决方案或可以确认这是安全的,我会给他们答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.