2

我试图创建类似于Reeder的功能,如果您在滚动视图中滚动内容的下方或上方,则会引入新内容。检测UIScrollview滚动底部

我想我是在一个好地方与scrollViewWillEndDragging标题:withVelocity:targetContentOffset:

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

有没有什么办法,如果你正在滚动超出底部或顶部检测(这是当垂直滚动条开始变小)

谢谢!如答案

+1

为什么你不检查scrollviewDidScroll中的contentOffset,并且当情节偏移超过了你的底部/顶点时,将新的东西添加到scrollvi新闻,并增加内容大小 –

+2

这是诀窍。我通过获取contentOffset的值来解决它 - scrollview content size - scrollview height:float diff = scrollView.contentOffset.y - (scrollView.contentSize.height-scrollView.frame.size.height); if(差异> 30){ //做什么需要做 } –

回答

4

发帖评论:

检查scrollviewDidScrollcontentOffset与当下contetOffset是超出你的底/顶部点,并添加新的东西,以滚动视图,并增加内容大小

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 
    } 

}