UITextTapRecongnizer在UITextView上禁用动作twoFingerSingleTap而不是其他手势

时间:2012-02-22 12:54:54

标签: iphone objective-c cocoa-touch uitextview uigesturerecognizer

我需要在UITextView上的UITextTapRecongnizer类中禁用动作twoFingerSingleTap 当键盘启动时以使用相同的手势制作另一个功能。

有人有想法吗?

TKS。

1 个答案:

答案 0 :(得分:0)

我想这是您提出的其他问题的后续问题:Prevent tap event on UITextView

您可以尝试' hijcaking'而不是禁用该手势识别器。它。

for (UIGestureRecognizer *g in myTextView.gestureRecognizers)
{
    if ([g isKindOfClass:[UITapGestureRecognizer class]])
    {
        if (([(UITapGestureRecognizer *)g numberOfTouchesRequired] == 2) && ([(UITapGestureRecognizer *)g numberOfTapsRequired] == 1))
        {
          //[g setEnabled: NO]; this was for disabling
          [g removeTarget:nil action:nil]; //this removes all targets and actions (documentation!)
          [g addTarget: self action:@selector(myHandler:)];
        }
    }
}

- (void)myHandler:(UIGestureRecognizer *)sender {

    NSLog (@"success...");
    //do your stuff
}

编辑:如果这(根据您编辑过的问题)在键盘显示时停止工作,请尝试以下操作:覆盖- (void)textViewDidBeginEditing:(UITextView *)textView的{​​{1}}方法并将相同的代码放入其中。