如何将UILongPressGestureRecognizer添加到UITextField?

时间:2012-05-08 10:49:22

标签: iphone objective-c ios ipad uitextfield

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

[self.tfCustomerStreet addGestureRecognizer:LongPressgesture];

但它工作正常,如果我将它添加到View中,则调用选择器方法。

[[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一起使用。

1 个答案:

答案 0 :(得分:8)

如果删除[LongPressgesture setMinimumPressDuration:2.0];它将起作用..因为将调用标签手势以开始编辑textField ...或者只是实现此手势委托功能

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

保证此方法返回YES可以同时识别。

享受:)