我已经从代码中创建了100个按钮。现在我想对长按按钮做出反应。 对于每个按钮,我调用enxt代码:
UILongPressGestureRecognizer *longPressGesture = [[[UILongPressGestureRecognizer alloc]
initWithTarget:self
action:@selector(longPress:)]
autorelease];
[longPressGesture setMinimumPressDuration:1];
[button addGestureRecognizer:longPressGesture];
[self.view addSubview:button];
但未调用longPress
方法。
有人知道为什么吗?
答案 0 :(得分:2)
UIButton
很可能已经将手势识别器用于其触控处理。在你的长龙头识别器被允许看到触摸之前,敲击手势也很可能成功,因此你的长触感永远不会被召唤。
我的建议不是使用按钮而是使用视图。您可以将长触摸手势识别器添加到视图中,并将其外观行为更改为外观和感觉就像一个按钮,并能够保持长时间的触摸。
答案 1 :(得分:1)
您可以查看对相关问题的回复:https://stackoverflow.com/a/6179591/536308