gpt4 book ai didi

ios - 如何将 UITableViewCell 高度调整为内部 UITextView 的内容?

转载 作者:行者123 更新时间:2023-11-28 11:03:34 28 4
gpt4 key购买 nike

在我的 Storyboard中,我有一个带有动态生成的 UITableViewCellUITableView。每个单元格包含 2 个标签和 1 个 TextView :

enter image description here

我有一个代码可以根据文本的数量调整文本字段的大小:

let fixedWidth = cell.myComment.frame.size.width
cell.myComment.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.max))
let newSize = cell.myComment.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.max))
var newFrame = cell.myComment.frame
newFrame.size = CGSize(width: max(newSize.width, fixedWidth), height: newSize.height)
cell.myComment.frame = newFrame;

它工作正常,当我将我的 textView 的背景颜色设置为红色时,我看到:

enter image description here

和单元格本身 - 我在这里设置大小:

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
{
if indexPath.row == 0 {
return 100//this is my static cell
}
else {
return 117; //for now it's hardcoded - how can I set this value dynamically based on content?
}
}

正如我在上面的评论中所写的那样 - 如何根据 TextView 中的文本量动态设置单元格的高度?

最佳答案

获得自动调整表格单元格(基于自动布局,我推荐)的关键如下:

  • 将您的 subview 添加到 UITableViewCellcontentView
  • 在您的 subview 和 contentView 之间提供约束,以便您的 subview 到达表格单元格的所有边缘。在您的情况下,这可能意味着对齐 leadingtrailingtopbottom 边缘>UITextViewcontentView 的相应边缘。
  • 将行高设置为 UITableViewAutomaticDimension 而不是硬编码的 CGFloat
  • 在 Controller 中的某处,使用 tableView.estimatedRowHeight = x 提供高度估计(硬编码常量很好,这是为了提高性能)。

关于ios - 如何将 UITableViewCell 高度调整为内部 UITextView 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39671444/

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