需要示例代码来实现基于Paging的UIScrollView

时间:2011-08-13 13:20:11

标签: iphone web-services uiscrollview

我是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偏移位置也非常混乱。请指导我如何准确检测上部滚动?

1 个答案:

答案 0 :(得分:0)

你的意思是“可以转换”UIScrollView吗?

分页UIScrollView非常简单。首先确保将pagingEnabled属性设置为YESUIScrollView将使用自己的框架作为页面的大小(如视口)。

使用contentSize属性确定scrollable area

示例:

//scrollView is a UIScrollView instance  
int pageCount = 3;  
scrollView.pagingEnabled = YES;  
scrollView.contentSize = CGSizeMake(scrollView.frame.width*pageCount, scrollView.frame.height);