对包含在 2 个单独的父 UIView 中的子视图进行碰撞检测?
Posted
技术标签:
【中文标题】对包含在 2 个单独的父 UIView 中的子视图进行碰撞检测?【英文标题】:Collision detection on sub views contained in 2 separate parent UIViews? 【发布时间】:2010-03-27 20:08:47 【问题描述】:我最初使用 CGRectIntersectsRect 设置了一些条件来进行一些工作正常的碰撞检测。在更大范围内,我只需要检测部分视图。
所以最初在 ViewController 中它比较了 2 个 UIview。
现在我需要做的是对包含在视图控制器执行逻辑的视图中的 2 个不同 UIView 中的子视图进行碰撞检测。
我的脚本不再工作,因为我怀疑 CGRectIntersectsRect 只比较同一视图中的帧?我会继续挖掘以确认这一点。
有什么办法解决这个问题吗?例如,是否有可能获取子视图相对于执行逻辑的主视图的 x 和 y 位置?
【问题讨论】:
【参考方案1】:您需要使用 UIView 的 convertRect:toView:
或 convertRect:fromView:
(或点等效项)将它们置于相同的坐标空间中。
【讨论】:
以上是关于对包含在 2 个单独的父 UIView 中的子视图进行碰撞检测?的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式将 UIScrollView 滚动到 Swift 中的子 UIView(子视图)的顶部