在IOS中长按按钮

时间:2012-02-22 09:31:55

标签: objective-c ios5

  

可能重复:
  UIButton long press with finger stationary

我已经从代码中创建了100个按钮。现在我想对长按按钮做出反应。 对于每个按钮,我调用enxt代码:

UILongPressGestureRecognizer *longPressGesture = [[[UILongPressGestureRecognizer alloc]
                                                  initWithTarget:self
                                                  action:@selector(longPress:)]
                                                  autorelease];
[longPressGesture setMinimumPressDuration:1];
[button addGestureRecognizer:longPressGesture];
[self.view addSubview:button];

但未调用longPress方法。

有人知道为什么吗?

2 个答案:

答案 0 :(得分:2)

UIButton很可能已经将手势识别器用于其触控处理。在你的长龙头识别器被允许看到触摸之前,敲击手势也很可能成功,因此你的长触感永远不会被召唤。

我的建议不是使用按钮而是使用视图。您可以将长触摸手势识别器添加到视图中,并将其外观行为更改为外观和感觉就像一个按钮,并能够保持长时间的触摸。

答案 1 :(得分:1)

您可以查看对相关问题的回复:https://stackoverflow.com/a/6179591/536308