【发布时间】:2016-06-16 02:23:26
【问题描述】:
我有一个问题好几天了,我真的无法解释为什么会这样。
我正在进行聊天,设置了 tableView,将消息打印到单元格中。这些单元是用原型设计的,有 3 种不同的类型(但无论如何都没有关系)。 输入文本,发送消息,插入表格中的单元格,然后我们滚动到底部表格视图。
如您所知,在聊天视图中,消息的容器必须适合此文本(即视图),然后单元格必须适合此容器(橙色标签,紫色容器)。
此容器有一个可变高度,并沿文本增长,改变单元格高度。
我为 auto-layout 显示设置了许多约束,但我没有与我最初在项目中设置的高度不同的单元格高度(没有自适应行为)。聊天消息被剪掉了。
1234563尺寸经常被错误计算/重新计算。
这就是为什么我最终将
estimatedRowHeight设置为44与UITableViewAutomaticDimension结合使用。在这里它成功了!哇哦!但是没有想象中那么好。。
当表格视图出现时,一切都很好。容器适合他们的标签,行的高度适合他们的容器,而且很漂亮。插入过程中出现问题。 经过多次测试,我注意到这种不良行为仅在 multilines label 保留在表格视图中时出现。
在插入期间,每个单元格似乎在调整其高度以适应内容之前调整为 44,然后与之前的状态相比创建一个间隙,从而创建一个奇怪的表格视图滚动:
如果我更改 estimatedRowHeight,情况会变得更糟。
如果你愿意,我可以显示我的代码,但我认为它在这里不会很有用,因为我没有使用复杂的函数。只有插入、单元格的自动高度和向下滚动,这些是 tableView 的委托函数.
你能帮帮我吗?真的我不知道如何改变它..每个聊天应用程序都可以解决问题,但我找不到方法。
谢谢你的回答,原谅我的英语水平我是一个可怜的法国学生..
如果你需要一些代码注释,我会给它。
【问题讨论】:
标签: ios xcode swift uitableview