6

我正在尝试添加UILongPressGestureRecognizer到页面上的 UITextField 之一,但是当长按 UiTextField 时它不会调用选择器方法。我将它添加到 UItextField 但是当我长按 TextField 但在字段上显示放大镜时它不会调用 Selector 方法。

[self.tfCustomerStreet addGestureRecognizer:LongPressgesture];

但是如果我将它添加到视图中,它可以正常工作并调用选择器方法。

[[self view] addGestureRecognizer:LongPressgesture];

ViewDidLoad 中的初始化代码

UILongPressGestureRecognizer *LongPressgesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(LongPressgesture:)];
    [LongPressgesture setMinimumPressDuration:2.0];

.

// Long press gesture reconizer
- (void)LongPressgesture:(UILongPressGestureRecognizer *)recognizer 
{
    if (recognizer.state == UIGestureRecognizerStateEnded) {
        NSLog(@"Long press Ended .................");
    }
    else {
        NSLog(@"Long press detected .....................");
    }        
}

请告诉我如何使它与 UITextField 一起使用。

4

1 回答 1

8

如果您删除[LongPressgesture setMinimumPressDuration:2.0];它,它将起作用..因为将调用选项卡手势来开始编辑文本字段......或者只是实现这个手势委托功能

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}

向该方法返回 YES 保证允许同时识别。

享受 :)

于 2012-05-08T11:28:02.630 回答