ios中怎么判断是不是滚动到tableview的最后一行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios中怎么判断是不是滚动到tableview的最后一行相关的知识,希望对你有一定的参考价值。
参考技术A 直接用tableview的datasource的numberOfSectionsInTableView和numberOfRowsInSection就可以取到最后一个cell的indexPath,再跟目标cell的indexPath一比就行了。点击一个cell 高度增加,tableview初始化是4个cell的大小,当点击第四个cell的时候 高度增加了,cell里增加的部分在tableview的下面,看不到了,需要向上拖动tableview才行,这样用户体验不好。
现在的情况是,点击一个cell时,增加了高度,当点击的下一个cell在上次点击的cell的下面,高度增加的时候是向上的方向上增加的,如果在上次点击的cell上面就向下的方向增加,能不能自动判断当前cell在tableview中的位置,
根据当前位置决定增加高度的方向。本回答被提问者采纳
判断tableview的上下滚动
直接贴代码:
//背景view - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { contentOffsetY = scrollView.contentOffset.y; } - (void)scrollViewDidScroll:(UIScrollView *)scrollView { newContentOffsetY = scrollView.contentOffset.y; if (newContentOffsetY > oldContentOffsetY && oldContentOffsetY > contentOffsetY) { // 向上滚动 [self scrollToTop:scrollView]; } else if (newContentOffsetY < oldContentOffsetY && oldContentOffsetY < contentOffsetY) { // 向下滚动 [self scrollToBottom:scrollView]; } if (scrollView.dragging) { if ((scrollView.contentOffset.y - contentOffsetY) > 0.f) { [self scrollToTop:scrollView]; } else if ((contentOffsetY - scrollView.contentOffset.y) > 0.f) { [self scrollToBottom:scrollView]; } } } - (void)scrollToBottom:(UIScrollView *)scrollView { // 向下滚动 } - (void)scrollToTop:(UIScrollView *)scrollView { // 向上滚动 } - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { oldContentOffsetY = scrollView.contentOffset.y; }
以上是关于ios中怎么判断是不是滚动到tableview的最后一行的主要内容,如果未能解决你的问题,请参考以下文章
iOS - TableView willDisplayCell 动画仅在用户向下滚动而不是顶部时发生