我在整个视图的中心有一个UIScrollView,它被分成三个部分并水平滚动。
用户可以自由滚动视图,当手指向上时,我想根据UIScrollView的contentoffset设置要显示的三个部分之一。
我怎样才能在UIScrollView中检测到touchupinside事件?我尝试添加UITapGestureRecognizer并覆盖touchesEnded但它不起作用。
答案 0 :(得分:0)
如何使用- scrollViewDidEndDecelerating:
?
请记住,仅仅因为用户已经拿起手指并不意味着滚动视图已停止更改其内容偏移。通过使用- scrollViewDidEndDecelerating:
委托方法,当滚动视图停止时,将通知您,并且此时您可以检查contentOffset
并执行您需要的操作。
- scrollViewDidScroll:
即使在用户的手指仍处于停机状态时,它也不会被调用。如果这对您很重要,请使用我上面提到的- scrollViewDidEndDecelerating:
。如果您想知道手指何时抬起,并且不在乎滚动视图仍在传输中,那么您可以使用- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
。