繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM