我正在尝试在 tableview 单元格中插入一些多行标签,但看起来如下图所示。我希望文本在换行符处换行并根据需要占用更多行,必要时增加单元格的高度。
在图片中,我希望每个标签都可以展开成多行。
标签嵌入到一个垂直堆栈 View 中,它又嵌入到另一个堆栈 View 中。
我已经尝试了很多可能性,包括将每个标签嵌入 View 中,将标签行设置为 0,以及我在 SO 答案上找到的其他内容,但是没有,标签没有正确包装,它们总是只占用一个行。
编辑:
我补充一点解释:
1) 我认为问题出在堆栈 View 上,它会自动设置 subview 的高度。
2) 是的,我可以使用动态高度单元格,但这不是重点,因为对我来说,让单元格具有相同的高度就足够了,当文本不占据两行时,单元格将有更多的空它下面的空间。所以我的问题只是包装嵌入堆栈 View 中的标签文本
最佳答案
听起来您正在寻找的是动态单元格高度,需要做一些事情才能使其工作:
1) 设置标签行 = 0
2) 在viewDidLoad中设置tableview的estimatedRowHeight
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/