将UITapGestureRecognizer添加到UITextView而不阻止textView触摸

我如何添加一个UITapGestureRecognizer到一个UITextView,但仍然有触及通过UITextView 正常

目前只要我添加一个自定义的手势到我的textView它会阻止UITextView的默认动作,如定位光标。

 var tapTerm:UITapGestureRecognizer = UITapGestureRecognizer() override func viewDidLoad() { tapTerm = UITapGestureRecognizer(target: self, action: "tapTextView:") textView.addGestureRecognizer(tapTerm) } func tapTextView(sender:UITapGestureRecognizer) { println("tapped term – but blocking the tap for textView :-/") … } 

我怎样才能处理水龙头,但像光标定位保持任何textView行为?

要做到这一点,使您的视图控制器采用UIGestureRecognizerDelegate和覆盖应该同时识别手势识别方法,如:

 override func viewDidLoad() { tapTerm = UITapGestureRecognizer(target: self, action: "tapTextView:") tapTerm.delegate = self textView.addGestureRecognizer(tapTerm) } func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool { return true } 

如果有人来到这里寻找@Zell B.在Objective C中的答案,这里是代码:

 - (void)viewDidLoad { [super viewDidLoad]; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(textViewTapped:)]; tap.delegate = self; tap.numberOfTapsRequired = 1; [self.textView addGestureRecognizer:tap]; } - (void)textViewTapped:(UITapGestureRecognizer *)tap { //DO SOMTHING } #pragma mark - Gesture recognizer delegate - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { return YES; } 

PS:不要忘记<UIGestureRecognizerDelegate>