我正在尝试在tableview单元格中插入一些多行标签,但如下图所示。我希望在换行时自动换行并根据需要占用更多行,并在必要时增加单元格的高度。

在图像中,我希望每个标签都可以扩展成多行。

标签被嵌入在垂直的stackview中,然后又被嵌入到另一个stackview中。

我尝试了许多可能性,包括将每个标签嵌入 View 中,将0设置为标签线,以及在SO答案中在此处找到的其他内容,但是不,标签没有正确包装,它们始终只占据一行。

swift - iOS-Swift : multi line labels in TableView rows-LMLPHP

编辑:

我添加一些解释:

1)我认为问题是stackview,它会自动设置 subview 的高度。

2)是的,我可以使用动态高度单元格,但这不是重点,因为对我来说,使单元格都具有相同的高度就足够了,并且当文本不占据两行时,该单元格下将有更多的空白空间。所以我的问题是只包装嵌入在stackview中的标签文本

最佳答案

听起来您正在寻找的是动态像元高度,但要使其正常工作,需要做一些事情:

1)设置标签线= 0

2)在viewDidLoad中设置tableview的estimateRowHeight

3)在viewDidLoad中设置EstimatedRowHeight之后,将rowHeight设置为UITableViewAutomaticDimension或在heightForRow中返回UITableViewAutomaticDimension
4)确保要动态更改高度的标签上没有高度限制

编辑更新的问题:

由于标签位于堆栈 View 中,因此您需要确保堆栈 View 没有任何高度限制,并且在标签展开时将根据需要调整高度。

关于swift - iOS-Swift : multi line labels in TableView rows,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45862743/

10-12 19:43