Предотвратить событие касания в UITextView - PullRequest
1 голос
/ 21 февраля 2012

2012-02-21 11: 59: 18.106 textView [20977: fe03]; target = <(action = delayed :, target =) >>

2012-02-21 11: 59: 18.107 textView [20977: fe03]; target = <(action = handlePan :, target =) >>

2012-02-21 11: 59: 18.108 textView [20977: fe03]; target = <(action = oneFingerTripleTap :, target =)>; numberOfTapsRequired = 3>

2012-02-21 11: 59: 18.108 textView [20977: fe03]; target = <(action = oneFingerDoubleTap :, target =)>; numberOfTapsRequired = 2>

2012-02-21 11: 59: 18.109 textView [20977: fe03]; target = <(action = twoFingerSingleTap :, target =)>; numberOfTouchesRequired = 2>

2012-02-21 11: 59: 18.123 textView [20977: fe03]; target = <(action = tapAndAHalf :, target =) >>

2012-02-21 11: 59: 18.124 textView [20977: fe03]; target = <(action = twoFingerRangedSelectGesture :, target =) >>

2012-02-21 11: 59: 18.124 textView [20977: fe03]; target = <(action = oneFingerTap :, target =) >>

2012-02-21 11: 59: 18.129 textView [20977: fe03]; target = <(action = loupeGesture :, target =) >>

Над списком жестов-распознавателей в UITextView. Мне нужно предотвратить событие: twoFingerSingleTap на UITextView, но только это событие. там можно?

Ответы [ 2 ]

4 голосов
/ 21 февраля 2012

UITextView, как и любой другой подкласс UIView, имеет свойство gestureRecognizers, которое содержит NSArray всех распознавателей жестов, прикрепленных к представлению. Перечислите этот массив, найдите искатель распознавателя и отключите его.

3 голосов
/ 21 февраля 2012

Вам нужно что-то вроде:

for (UIGestureRecognizer *g in myTextView.gestureRecognizers)
{
    if ([g isKindOfClass:[UITapGestureRecognizer class]])
    {
        if (([(UITapGestureRecognizer *)g numberOfTouchesRequired] == 2) && ([(UITapGestureRecognizer *)g numberOfTapsRequired] == 1))
        {
            [g setEnabled: NO];
        }
    }
}
...