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 瀑布流怎么自动滚动到指定cell

iOS:TableView 滚动到部分

iOS - TableView willDisplayCell 动画仅在用户向下滚动而不是顶部时发生

请问:C# listView控件如何判断滚动条的位置?判断滚动条在控件的最下面?

iOS - 搜索数字并在该位置滚动

判断tableview的上下滚动