如何检测用户是否在UIScrollView中向后滚动了一个视图?

时间:2011-04-20 17:51:29

标签: iphone objective-c cocoa-touch ios uiscrollview

我有一个带有一堆视图的UIScrollView,你可以在它们之间来回滑动。我有一个Next按钮,可以自动向前滚动视图。每当我向前/向后滑动时,我都希望保持下一个按钮同步。如何检测用户是否向前滑动,向后滑动以便我可以分别增加一个计数器?

3 个答案:

答案 0 :(得分:1)

实现UIScrollView的委托方法

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

在该方法中,您需要根据UIScrollView的contentOffset做一些逻辑来查看您所在的索引

答案 1 :(得分:1)

通过以下方式找到解决方案:https://github.com/cwalcott/UIScrollView-Paging/blob/d0160aa2ad011bf47e1e2e78327ae840c3614107/README.txt

当显示下一页/上一页的一半以上时,这将增加/减少页面索引...

- (void)scrollViewDidScroll:(UIScrollView *)sender {
    CGFloat pageWidth = self.scrollView.frame.size.width;
    self.yourPageIndex = floor((self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
}

答案 2 :(得分:0)

在文档中搜索“PageControl”。有一个很好的示例项目可以处理类似的计算,这些计算可以帮助您。