如何获得旋转的 UIView 的正确框架(包括正确的位置)

Posted

技术标签:

【中文标题】如何获得旋转的 UIView 的正确框架(包括正确的位置)【英文标题】:How to get the correct frame of a rotated UIView (including correct position) 【发布时间】:2013-03-26 06:06:41 【问题描述】:

我有一个应用程序,其中有一个用户可以用手指旋转和平移的矩形。我只是想知道这个旋转视图的框架是什么,这样我就可以知道它是否与另一个矩形 UIView 相交(不能使用 frame 属性,因为它在 UIView 转换时会失效)。最简单的方法是什么?

【问题讨论】:

你能发布你的转换代码吗...??? self.rotateAngle = rotateAngle; self.transform = CGAffineTransformMakeRotation(self.rotateAngle); 试试 view.bounds 可能对你有帮助。 你是在动画块里做这个吗???? 正常转换后,我可以使用frame 属性获取框架.... 【参考方案1】:

每个UIView 都有一个属性frame,它的类型是CGRect。

您可以使用view.frame 访问它。

应用转换后,您可以使用视图上的 bounds 和 center 属性来获取方向。这可能需要一点点计算,但我希望你能轻松搞定。

从this question 的回答中参考this image。

【讨论】:

帧属性在发生转换时失效。 是的,很抱歉我忘记了转换。 附注(以防万一):请不要迁移垃圾邮件(回复:解锁的 iphone 可以使用 rogers 的预付费 SIM 卡吗?)。另外,当您不知道目标站点的常见问题时,不要投票迁移。电话和电话服务问题不在Super User 的主题范围内。谢谢。

以上是关于如何获得旋转的 UIView 的正确框架(包括正确的位置)的主要内容,如果未能解决你的问题,请参考以下文章

旋转放置和移动视图 (UIView)

如何在 Swift 2.0 中获得正确的 UIView 大小或边界?

如何获得正确大小的 UIView?

如何在 UITableViewCell swift 中获得正确的 UIView 宽度

如何将 UIView 调整为横向?

屏幕旋转不同步时旋转 UIView