UITextView 高度未在 UITableViewCell 中调整大小

UITextView height not resizing in UITableViewCell

以下是对 UITextView 的约束:

其他子视图的约束:

UILabel :

用户界面视图:

滚动已禁用:

viewDidLoad :

self.tableLeadsOverview.estimatedRowHeight = 100
self.tableLeadsOverview.rowHeight = UITableViewAutomaticDimension  

内容:

1527 Clover Ridge Dr Burlington VA USA 90210

输出:

在这种情况下自动调整大小将不起作用,因为 UITextView 包含用于显示其包含的滚动视图和具有 contentSizeframe 的滚动视图,因此如果其 content/text 增加它会增加其 contentSize 而不是框架,因此单元格大小不会自动增加。请按照以下步骤解决此问题。

  1. 在现有约束条件下,为 UITextView 并将其引出至 class.
  2. 单元格
  3. 将UITextView的引用outlet取到单元格class也
  4. 现在进入 CellForRowAtIndexPath 的数据源方法 UITableView 此处首先将 text/content 设置为 UITextView 然后设置 UITextView's 高度限制 as UITextView's contentSize.height 使用高度限制 你在上面拿的出口。

如有任何疑问,请告诉我。

我曾研究过与您类似的细胞。

我的解决方案是创建一个高度灵活的标签来显示文本字段的内容。 label 具有与 textField 一样的所有约束,除了高度约束,numberOfLines 设置为 0 以便它可以帮助您调整 rowHeight 的大小。不编辑时,隐藏 textField。当用户选择行(开始编辑)时,隐藏标签,显示文本字段,然后调用 [textField becomeFirstResponder].

有点棘手。 :]

问题出在 UILabel 的底部约束上。尝试将其删除,因为您为标签提供了高度限制,因此它将始终保留在左上角,或者如果您想将标签保留在单元格的中心。

尝试并分享结果。