我试图让UIButton
我的一个视图上的一些实例被触摸并在屏幕上拖动(最终有动力,但那是以后的事了!)。我有一个非常简单的形式,如下所示,但问题是通过触摸按钮开始拖动它,它附着在手指上,并且通过抬起手指,触发“Touch Up Inside”事件,这是我在实际点击按钮时要执行的代码。
简而言之:我如何区分轻击和拖动/释放?我是否需要将点击更改为短点击手势识别器或类似的?代码:
在 viewDidLoad 中:
[firstButton addTarget: self action: @selector(wasDragged: withEvent:) forControlEvents: UIControlEventTouchDragInside];
而我的 wasDragged 方法:
- (void)wasDragged:(UIButton *)button withEvent:(UIEvent *)event
{
if (button == letter1Button) {
UITouch *touch = [[event touchesForView:button] anyObject];
CGPoint previousLocation = [touch previousLocationInView:button];
CGPoint location = [touch locationInView:button];
CGFloat delta_x = location.x - previousLocation.x;
CGFloat delta_y = location.y - previousLocation.y;
button.center = CGPointMake(button.center.x + delta_x, button.center.y + delta_y);
}
}