检测UIScrollview滚动到底部

时间:2012-10-04 17:50:27

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

我正在尝试创建类似于Reeder的功能,如果您在滚动视图中滚动内容的下方或上方,则会向您介绍新内容。

我以为我正在使用scrollViewWillEndDragging前往一个好地方:withVelocity:targetContentOffset:

然而,这只是在底部停止。

有没有办法检测你是否滚动到底部或顶部(这是垂直滚动条开始变小的时候)

谢谢!

2 个答案:

答案 0 :(得分:4)

发表评论作为回答:

检查contentOffset中的scrollviewDidScroll以及contetOffset超出底部/顶点的时刻,向滚动视图添加新内容,并增加内容大小

答案 1 :(得分:0)

也许更好的解决方案是这样的:

-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {

    if (targetContentOffset->y == 0 && scrollView.contentOffset.y < - someOffset) { //use someOffset if you dont want to reload immedeately on scroll to top
        //dragged past top
    }

    if (targetContentOffset->y == scrollView.contentSize.height && scrollView.contentOffset.y > scrollView.contentSize.height + someOffset) { 
        //dragged past bottom
    }

}