以编程方式生成的UIButton拖放

时间:2011-02-06 00:19:37

标签: iphone drag-and-drop uibutton

我通过for循环动态创建了许多uibutton并将它们添加到场景中。现在我想为每个uibutton添加拖放功能。我怎么能做到这一点?

说像断路器这样的游戏,你有一个桨。它是唯一一个被玩家拖放的对象,所以我们需要做的就是为paddle添加一个uibutton对象,并在touchesBegan和touchesMoved中更新它的中心。

在我的问题中,我不知道会点击哪个按钮。如果我将动作附加到所有按钮以跟踪哪个按钮被点击,那么我将无法在玩家第一次点击按钮时执行DRAG。也许有更好的方法。

1 个答案:

答案 0 :(得分:0)

如果我不理解,请纠正我,但每个按钮应该“知道”是否是被点击的按钮。在touchesMoved:withEvent:方法中,您不能将中心设置为触摸位置,还是我缺少某些东西?

试试这个。

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    if (self.highlighted) {
        UITouch *touch = [touches anyObject];
        self.center = CGPointMake(touch.x, touch.y);
    }
}

当然,这段代码有几个问题,例如不能很好地处理多个触摸,但我希望它能解决问题。 如果您只想告诉当前点击哪个按钮,可以使用UIControl的highlighted属性。希望有所帮助!