【问题标题】:Dropping UIImageView conditionally while Dragging [closed]拖动时有条件地删除 UIImageView [关闭]
【发布时间】:2013-07-18 12:31:10
【问题描述】:

我正在开发一个游戏,我允许用户将图像(UIImageView) 拖放到目标图像(UIImageView) 上,我正在使用 TouchesEnded 中的 (CGRectIntersectsRect) 来实现这一点。

现在我需要在 (TouchesMoved) 中做同样的事情,我已经有条件地检查了 (CGRectIntersectsRect) 两个图像,如果为真,我正在使两个图像帧相等并禁用用户与该图像的交互,它表示但图像仍然可拖动直到 (TouchesEnded) 被调用。

我正在使用下面列出的代码来结束拖入 (TouchesMoved):

if([self distanceBetweenPoint:fruit1.center andPoint:fruit1b.center]<=45) { fruit1.frame = fruit1b.frame; fruit1.userInteractionEnabled = FALSE; }

谁能给我解决这个问题的方法?

【问题讨论】:

    标签: iphone ios objective-c uiimageview uitouch


    【解决方案1】:

    您可以创建一个全局BOOL endDragging,当您的条件满足时,您只需return touchesMoved

    有效,我刚刚测试过,满足条件后将无法移动图像。

    -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
    {
     if(endDragging)
      return;
    
     //do stuff
    
    }
    

    【讨论】:

    • 太棒了..这解决了我的问题。
    猜你喜欢
    • 1970-01-01
    • 2020-09-05
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多