我正在尝试检查主视图中UIView
与主视图中另一个视图的子视图UILabel
的碰撞。
当我使用CGRectContainsPoint
时,它不会返回true。当我检查UILabel's
帧时,它返回相对于它所在的子视图的值,而不是它的绝对位置。我认为这可能是问题所在。
如果是这样,我如何指定我想要UILabel's
帧的绝对值?
答案 0 :(得分:0)
您可以使用NSView
方法转换不同坐标系之间的坐标:
- convertRect:(NSRect) fromView:(NSView)
- convertRect:(NSRect) toView:(NSView)
如果第二个参数是nil
,坐标将从/转换为窗口基坐标。 NSPoint
和NSSize
变量存在类似的方法。一种解决方案是将所有矩形和点转换为窗口基坐标并检查这些坐标中的碰撞。