【问题标题】:CGRectIntersectsRect two frames from different view hierarchyCGRectIntersectsRect 来自不同视图层次结构的两帧
【发布时间】:2013-12-22 21:01:56
【问题描述】:

我有一个 UIButton 和一个 UIView 属于两个不同的视图层次结构,当我将按钮拖到“viewTrashArea”时,我试图检测碰撞。

问题是按钮的框架和视图的框架在不同的坐标中,因此使碰撞认为它们是在触摸但彼此相距很远。

如何根据全局屏幕位置检测碰撞?

【问题讨论】:

标签: ios cocoa-touch cgrect


【解决方案1】:

您需要将位置转换为通用坐标系。为此,请使用UIView 方法convertRect:fromView:convertRect:toView:

【讨论】:

    【解决方案2】:

    给定

    UIButton *button;
    UIView *viewTrashArea;
    

    如果它们相交,这条线将返回 true:

    CGRectIntersectsRect([button convertRect:button.bounds toView:viewTrashArea], viewTrashArea.bounds);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-24
      • 2011-05-19
      • 1970-01-01
      • 1970-01-01
      • 2020-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多