我正在像这样设置LPGR,我想知道是否可以在每个LPGR中创建标签。我需要这样做,所以我知道我所有的按钮都被按下了...

UILongPressGestureRecognizer *longpressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressHandler:)];
longpressGesture.minimumPressDuration = 2;
[longpressGesture setDelegate:self];
[pushButton addGestureRecognizer:longpressGesture];


还有我下面的方法

- (void)longPressHandler:(UILongPressGestureRecognizer *)gestureRecognizer {
NSLog(@"longPressHandler");
}


我知道您不能通过选择器传递参数,所以我想知道是否可以为LPGR分配标签,或者在方法中是否可以获取使用LPGR的按钮的标签?这有可能吗?

编辑:

NSInteger *tag = [gestureRecognizer.view.tag];
NSLog(@"%@ longPressHandler",tag);

最佳答案

UIGestureRecognizer具有属性view,该属性是手势识别器附加到的视图。

因此,在处理程序方法中,gestureRecognizer.view是LPGR附加到的按钮,而gestureRecognizer.view.tag是按钮的标记。

添加:
样例代码:

- (void)longPressHandler:(UILongPressGestureRecognizer *)gestureRecognizer {
    NSLog(@"longPressHandler");
    NSInteger tag = gestureRecognizer.view.tag;
    NSLog(@"%d longPressHandler",tag);
}

关于iphone - UILongPressGestureReconizer标签? - 苹果手机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11713220/

10-10 20:41