具有动态高度的 UITableView

UITableView with dynamic height

我的项目发布在 Github。在 运行 应用程序之前,您需要通过从命令行转到目录 VideoTutorialsWithServerApp/nodeServer 和 运行 node server.js 来启动服务器。


我有一个功能,可以通过在 Leave a comment 的地方输入名称和评论来向应用程序的视频添加评论。单击返回并再次访问视频后,评论会出现。然而,table 视图似乎只能是最多三个评论的大小。在下图中,应该有4条评论,但实际上只有3条。我已经测试过,任何视频的最大评论总是3条。

您可以通过访问“http://localhost:6060/comments/1

查看应该为 table 1 显示的评论
[{"user":"Sam","comment":"First Comment"},{"user":"Kailee","comment":"First Second Comment"},{"comment":"Third Comment","user":"Sam"},{"comment":"Fourth Comment","user":"Sam"}]

我想是因为uitable视图有一个设置高度,我不知道如何设置高度是动态的。每个单元格的高度也根据单元格中的文本动态变化。


就在那儿,

所以现在所有的评论都显示了,但是滚动视图停留在底部评论的中间,所以只有最后一条评论的名字是可见的,除非用户主动向上推屏幕来查看最后一条评论。

您需要使用 UITableView 的 intrinsicContentSize 变量。 intrinsicContentSize 会给我们 table 高度。

Create a subclass for child tableView and override intrinsicContentSize.

Dynamic row heights of a UITableView inside a UITableViewCell