gpt4 book ai didi

ios - 如何根据字符串大小在 UITableViewCell 中动态设置 UITextView 的高度?

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:44 25 4
gpt4 key购买 nike

我知道有人问过这个问题here ,但它并没有解决我的问题,因为接受的答案中的链接已关闭并且最小示例没有帮助。

这是我的自定义 UITableViewCell 及其所有约束的图片:

enter image description here

每个帖子都包含这些 UI 元素。唯一可以使每个单元格的高度不同的元素是 messageView,因为它的高度取决于显示的字符串。问题是,如何动态设置每个单元格的高度?这是我现在拥有的(不起作用,messageView 根本没有显示):

func cellForRowAt(indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(...) as! PostCell

let message = ...
cell.messageView.text = message

return cell
}

func heightForRowAt(indexPath: IndexPath) -> CGFloat {
var cellMinimumHeight: CGFloat = 120
if let cell = tableView.cellForRow(at: indexPath) as? PostCell {
let size = cell.messageView.sizeThatFits(cell.messageView.frame.size)
cellMinimumHeight += size.height
}

return cellMinimumHeight
}

heightForRowAt函数中,if没有被执行,因此所有单元格的高度都是cellMinimumHeight = 120

如何让每个单元格的高度 = 120 + messageView 的高度?

--------------------------------编辑 1-------- ------------------------

画错了,messageView的高度没有设置

最佳答案

当使用自动布局动态调整单元格大小时,您实际上不需要实现 sizeThatFits(...)。如果约束设置正确,那么您只需禁用 UITextView 的滚动。

来自代码:

yourTextView.scrollEnabled = false

来自 IB:

选择您的 TextView 并打开属性检查器,然后

enter image description here

关于ios - 如何根据字符串大小在 UITableViewCell 中动态设置 UITextView 的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50459226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com