我是iOS开发的新手。任何人都可以给我一个基于分页的scrollview的工作示例项目/教程吗?当用户向下滚动时,我需要从webservice在表视图中加载更多数据。 我花了很多时间,却找不到适合自己需要的东西。任何帮助将不胜感激。
我能够找出问题的解决方案。现在我试图根据y偏移差异检测向上和向下滚动。问题是,即使它是向上的,它总是将拖动读取为向下。这就是我试图检测滚动方向的方法:
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
CGPoint scrollOffSet = scrollView.contentOffset;
NSLog(@"Current Content offset: , y = %f", scrollOffSet.y);
NSLog(@"Previous offset , y = %f", self.previousYOffset);
if(scrollOffSet.y > self.previousYOffset)
{
self.previousYOffset = scrollOffSet.y;
NSLog(@"Scrolled Down");
self.nextPageNumber++;
//Here I send the request to fetch data for next page number
}
else {
NSLog(@"Scrolled up");
self.previousYOffset = scrollOffSet.y;
}
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
CGPoint scrollOffSet = scrollView.contentOffset;
NSLog(@"Current Content offset: y = %f", scrollOffSet.y);
}
问题是:无论是向上还是向下滚动,它都会始终显示“向下滚动”,因此它会获取下一页数的数据,即使它不打算请求。另外,它在上/下滚动时返回的y偏移位置也非常混乱。请指导我如何准确检测上部滚动?
答案 0 :(得分:0)
你的意思是“可以转换”UIScrollView
吗?
分页UIScrollView
非常简单。首先确保将pagingEnabled
属性设置为YES
。 UIScrollView
将使用自己的框架作为页面的大小(如视口)。
使用contentSize
属性确定scrollable area
。
示例:
//scrollView is a UIScrollView instance
int pageCount = 3;
scrollView.pagingEnabled = YES;
scrollView.contentSize = CGSizeMake(scrollView.frame.width*pageCount, scrollView.frame.height);