在xCode中处理长按多个对象的最佳方法

时间:2014-05-07 18:01:45

标签: ios xcode long-press

我有64个UIButton的视图,除了他们的修饰事件之外还需要长按。我想我可以通过在我的xib中创建UILongPressRecognizer,将所有按钮连接到outlet集合中的识别器,然后在处理程序中测试按钮的标签来轻松完成此操作。在这里,我有前3个按钮连接...

enter image description here

这是我的经纪人......

- (IBAction)handleLongPress:(UILongPressGestureRecognizer *)sender {
    NSLog(@"%i", sender.view.tag);

}

按钮标记为1-32和101-132,但我只获得集合中第一个按钮的标记。如果第一个按钮是标签1,则所有三个按钮将在处理程序中返回1,如果我将它们从3连接到1,则处理程序将获得3作为所有三个按钮的标记。

所有按钮都具有相同的标题,您可以看到它是一个句点。我不认为这会有任何不同。

如何在不创建64个longPressRecognizers的情况下处理每个按钮的长按?

谢谢,

约翰

1 个答案:

答案 0 :(得分:0)

您可以使用

 CGPoint tapPoint = [sender locationInView:screenView];

是否按下了检查按钮。