我试图创建类似于Reeder的功能,如果您在滚动视图中滚动内容的下方或上方,则会引入新内容。检测UIScrollview滚动底部
我想我是在一个好地方与scrollViewWillEndDragging标题:withVelocity:targetContentOffset:
然而,这只是停止在底部。
有没有什么办法,如果你正在滚动超出底部或顶部检测(这是当垂直滚动条开始变小)
谢谢!如答案
我试图创建类似于Reeder的功能,如果您在滚动视图中滚动内容的下方或上方,则会引入新内容。检测UIScrollview滚动底部
我想我是在一个好地方与scrollViewWillEndDragging标题:withVelocity:targetContentOffset:
然而,这只是停止在底部。
有没有什么办法,如果你正在滚动超出底部或顶部检测(这是当垂直滚动条开始变小)
谢谢!如答案
发帖评论:
检查scrollviewDidScroll
的contentOffset
与当下contetOffset
是超出你的底/顶部点,并添加新的东西,以滚动视图,并增加内容大小
也许更好的解决方案会是这样的:
-(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
}
}
为什么你不检查scrollviewDidScroll中的contentOffset,并且当情节偏移超过了你的底部/顶点时,将新的东西添加到scrollvi新闻,并增加内容大小 –
这是诀窍。我通过获取contentOffset的值来解决它 - scrollview content size - scrollview height:float diff = scrollView.contentOffset.y - (scrollView.contentSize.height-scrollView.frame.size.height); if(差异> 30){ //做什么需要做 } –