首页 > 解决方案 > 滚动时如何将选定的 UITableView 行固定到顶部或底部(因此它不会消失)

问题描述

我希望向 UITableView 添加一个功能,当用户滚动超出范围时,选定的行固定在顶部或底部。

例如,假设我有 100 个单元格。用户向下滚动,单元格#12 变得可见,然后他们选择了它。随着用户继续向下滚动,一旦单元格#12 到达表格视图的顶部,我希望该单元格被固定在顶部的固定位置,但其他单元格继续在其下方滚动。如果用户向上滚动到第 12 个单元格的原始位置,则该单元格将取消固定并继续像往常一样向下滚动页面直到它到达底部,在这种情况下,它现在将固定到底部,因为用户继续向上滑动。

我已经搜索了互联网,虽然它似乎受到了一些不同的人的质疑(例如这里),但我没有看到关于如何实现这一点的明确答案。

我想到的一种方法是潜在地检测特定行何时到达顶部,当发生这种情况时,将该单元格的内容复制到一个新的 UIView 实例中,该实例可以作为单元格的副本;然后我可以将此视图固定在顶部。但是,使用这种方法,我仍然有点困惑如何检测该行何时位于 UITableView 的顶部以知道何时显示固定的副本视图......

否则,如果你们能想到任何其他方法来实现这一点,效果会更好,那就太棒了。

标签: swiftuitableview

解决方案


推荐阅读