2010-09-13 113 views
3

如何启用UITextView的滑动手势识别?如何启用UITextView的滑动手势

这是我的代码,附加到它的事件不会触发。它适用于水龙头,而不是轻扫。

// Add swipe support for easy textview content clean up 
UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(eraseTextWithSwipe:)]; 
[targetContent addGestureRecognizer:swipe]; 
[swipe release]; 

我该怎么做?

+0

我不确定这个问题中的任何建议是否有帮助;它没有被接受的答案。 http://stackoverflow.com/questions/2042930/successful-swipe-in​​-uitextview – Greg 2010-09-13 16:36:58

+0

谢谢你的评论,但不适用,我已经看到它。这使用了苹果在iPhone 4.x中不推荐的技术。 – amok 2010-09-14 14:16:50

回答

2

我发现了一个适合我的解决方案。

您需要设置委托(上面提到的代码)

swipe.delegate = self; 

,那么你需要添加一个委托跟踪多个手势,这将能够跟踪轻扫和滚动

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGesture 
{ 
    yourTextbox.scrollEnabled = NO; 
    return YES; 
} 

重新启用在回调函数的滚动(在上面eraseTextWithSwipe的例子)

+0

它的工作原理。好的解决方案 – echo 2014-03-02 18:40:48

2

谢谢。你的解决方案有效我只需要在提到的委托方法中设置委托并返回YES。 如果不是出于可用性的原因,您不必禁用UITextView上的滚动。