我占据了整个屏幕UITextView
。当文本视图滚动到顶部时,我想在用户向下滑动时移动它。
问题:
UISwipeGestureRecognizer
上添加textView
,但手势识别器和textView
的滚动之间存在冲突。仅当textView
中的内容不足以需要滚动时才会有效(所以当textView
静态时)scrollViewWillBeginDragging
方法但是当textView
静态时没有调用此方法(因为没有什么可滚动,有意义)。此外,在此方法中,我不知道用户是向上还是向下滚动有解决方法吗?
由于
答案 0 :(得分:1)
是的,有一个解决方案。您需要确保您的ViewController是UISwipeGestureRecognizer的委托,然后从UIGestureRecognizerDelegate协议实现该方法。如果您想要微调您希望识别器彼此竞争的方式,协议中还有其他几种方法。
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
然后,您只需检查是否位于scrollView的顶部。
@IBAction func SwipeDown(sender: UISwipeGestureRecognizer) {
println("Swipe Down Detected")
if textView.contentOffset.y < 0 {
println("And we were at (or above) the top of the text")
}
}