如何检测 UITableView 滚动?

Posted

技术标签:

【中文标题】如何检测 UITableView 滚动?【英文标题】:How to detect UITableView scrolling? 【发布时间】:2013-09-10 08:55:52 【问题描述】:

我有UITableView,它可以包含不同数量的单元格。

所以如果UITableView 在顶部或底部有隐藏单元格,我想显示顶部和底部箭头(如下图所示),如果UITableView 的所有单元格都可见,则隐藏它们。

我已经实现了UIScrollView委托方法来检测UITableView的滚动:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView



但不知道如何检查第一个或最后一个单元格是否不可见。

已编辑

解决办法如下:

        if (self.ingredientsTableView.contentOffset.y<0)
            [ingrUpArrow setHidden:YES];
        
        else if (self.ingredientsTableView.contentOffset.y == 0) 
            [ingrUpArrow setHidden:YES];
        
        else if (self.ingredientsTableView.contentOffset.y >= (self.ingredientsTableView.contentSize.height - self.ingredientsTableView.bounds.size.height)) 
            [ingrUpArrow setHidden:NO];
            [ingrDownArrow setHidden:YES];
        
        else 
            [ingrUpArrow setHidden:NO];
            [ingrDownArrow setHidden:NO];
        

【问题讨论】:

【参考方案1】:

UItableView 有很多有用的属性可以在这种情况下使用,tableView.contentOffset.y 就是其中之一。用它。 this 也很有用。

【讨论】:

以上是关于如何检测 UITableView 滚动?的主要内容,如果未能解决你的问题,请参考以下文章

如何检测 UITableView 仅在 iOS 中向下滚动?

如何检测 UITableView 标题何时滚动?

iOS UITableView在过滤时滚动插入

防止表视图被重用(MVVM)

UITableView 在旋转时使用自动布局调整大小

检测 UITableView 何时滚动到底部