【问题标题】:Swift: autoresizing the height UITextView inside a cell [duplicate]Swift:自动调整单元格内的高度 UITextView [重复]
【发布时间】:2017-07-24 03:52:49
【问题描述】:

各位大侠,我遇到了这个问题:

我有一个 TableView 的单元格。在单元格内部,有几个元素嵌套在许多 stackView 中,如图所示。

其中一个元素是TextView,女巫有height = 150 的约束,所以我肯定会显示我设置为textView 限制的所有300 个字符。

但如果我只有几个字符,我想为 textView 设置不同的高度,有没有办法自动调整大小?

另一个问题是我必须设置 TableView 的row height = 220,所以我很确定我也需要自动调整它的大小。

有什么建议吗?谢谢

【问题讨论】:

  • 这个问题被标记为重复,但链接的问题不一样。这个问题专门针对 UITextViews 的情况,下面给出的答案指出了解决方案中非常重要的一步,即“这是一个重要的设置,可以告诉 textview 根据其内容相应地调整自身大小。”不幸的是,链接的问题没有提到这一点,尽管有人在评论中提到它,但该评论位于页面下方的第 7 个答案中。我真的很想删除重复的..

标签: ios swift uitableview textview


【解决方案1】:

您可以使用自动布局来实现具有动态高度的自动调整大小的表格视图单元格。

首先,通过设置以下内容,允许表格视图使用自动布局约束及其单元格的内容来确定每个单元格的高度:

tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 100 // Something close to your average cell height

接下来,转到您的情节提要并确保为您的文本视图禁用滚动。这是告诉 textview 根据其内容相应地调整自身大小的重要设置

省略 textview 的高度约束,因为您希望它动态增长。

最后,确保您已将 textview 的顶部固定到顶部标签的底部,并将 textview 的底部固定到底部标签的顶部。这些标签本身应该分别固定在单元格的顶部和底部,以便单元格可以确定其从顶部到底部的总高度。

您可能还需要调整 textview 的垂直压缩阻力和垂直拥抱优先级,以向 Auto Layout 提示它应该优先压缩或扩展哪个视图以填充单元格空间(Auto Layout 应该在情节提要中警告您)。

【讨论】:

  • 非常感谢您提及 这是一个重要的设置,可以告诉 textview 根据其内容相应地调整大小。 到目前为止,我知道只有自动布局 textview 可以不自吹自擂。再次感谢您。
  • 第二个。没有这个重要的设置什么都行不通
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-03
  • 2011-11-06
  • 1970-01-01
  • 1970-01-01
  • 2017-07-16
  • 2015-08-27
  • 1970-01-01
相关资源
最近更新 更多