作者:VE5851_325 | 来源:互联网 | 2023-02-10 08:30
晚上的伙伴,我遇到了这个问题:
我有一个TableView的单元格.在单元格内部有几个嵌套到许多stackViews中的元素,如图中所示.
其中一个元素是a TextView
,女巫有一个约束height = 150
,所以我肯定会显示我设置为textView限制的所有300个字符.
但是如果我只有几个字符,我希望textView有不同的高度,有没有办法自动调整它?
另一个问题是我必须设置row height = 220
TableView,所以我很确定我也需要自动调整它.
有小费吗?谢谢
![在此输入图像描述](https://img.php1.cn/3cd4a/1e618/c5a/d5d40da532c3a782.png)
1> Ken Toh..:
您可以使用"自动布局"来实现具有动态高度的自定义表格视图单元格.
首先,通过设置以下内容,允许表视图使用自动布局约束及其单元格的内容来确定每个单元格的高度:
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 100 // Something close to your average cell height
接下来,转到故事板并确保为文本视图禁用滚动.这是一个重要的设置,用于告诉textview根据其内容相应地调整自身大小.
省略textview的高度约束,因为你希望它动态增长.
最后,确保已将textview的顶部固定到顶部标签的底部,并将textview的底部固定到底部标签的顶部.这些标签本身应分别固定在电池的顶部和底部,以便电池可以从上到下确定其总高度.
您可能还需要调整textview的垂直压缩阻力和垂直拥抱优先级,以便为Auto Layout提供关于应该优先压缩或扩展以填充单元格空间的视图的提示(自动布局应警告您这在故事板中).