0

我有一个屏幕,这是一个使用带有 tableView 的视图控制器的聊天视图控制器。此屏幕的设计要求是保持页脚停靠在视图控制器的末尾,直到 tableview 需要开始滚动(在最后一个单元格将向下推动 tableView + 页脚的点。然后开始滚动单元格的最后一个元素。

如何做到这一点?我一直在挠头,反对它。由于该应用程序似乎到处都遵循这种设计,但在某些屏幕中,在用户交互开始时不会有任何内容,例如我现在卡在的聊天屏幕。

我试图将它添加到 tableview 页脚,并在插入单元格数量时更改它的大小(保持真实页脚停靠),但它导致 table view 非常有弹性(而不是仅仅向下插入)。

4

2 回答 2

1

UITableView 继承自 UIScrollView,因此您可以覆盖 scrollViewDidScroll 以获取实时 x 和 y 平移。注意:这个函数会被调用很多次。

我自己从未做过消失的页眉/页脚,但我可能会为页脚使用常规视图,并使用 y 平移为其中一个约束设置动画。

在 scrollViewDidScroll 中,使用 scrollView.contentOffset.y 并对页脚约束设置动画以将其推离屏幕。您需要为您制作动画的任何约束常数想出一个小公式。

于 2020-01-30T03:58:44.407 回答
0

在 viewForFooterInSection 方法中设计您的粘性页脚并在 heightForFooterInSection 委托方法中提供高度,这将自动让您滚动您的表格视图单元格并将在表格视图的末尾移动。

希望能帮助到你。

于 2020-01-30T04:45:31.580 回答