UITextTapRecongnizer отключить действие twoFingerSingleTap для UITextView, но не другой жест - PullRequest
0 голосов
/ 22 февраля 2012

Мне нужно отключить действие twoFingerSingleTap из класса UITextTapRecongnizer в UITextView , когда клавиатура поднята , чтобы сделать другую функцию с таким же жестом.

у кого-то есть идея ??

ткс.

1 Ответ

0 голосов
/ 23 февраля 2012

Я полагаю, что это продолжение вашего другого вопроса: Предотвращение события касания в UITextView

Вместо того, чтобы отключить этот распознаватель жестов, вы можете попробовать «перехватить» его.

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 метод вашего textViewDelegate и поместить тот же код внутри.

...