iOS - Swift:TableView行中的多行标签

Lor*_*gli 3 line-breaks multiline word-wrap uilabel swift

我正在尝试在tableview单元格中插入一些多行标签,但它看起来如下图所示.我希望文本包装在换行符并占用更多行,如果需要,可以增加单元格的高度.

在图像中我希望每个标签都有可能在多行中扩展.

标签嵌入在垂直堆栈视图中,然后它嵌入另一个堆栈视图中.

我已经尝试了很多种可能性,包括在视图中嵌入每个标签,将0设置为标签线,以及我在SO答案中找到的其他内容,但不是,标签没有正确包装,它们总是只占用一行.

在此输入图像描述

编辑:

我补充一点解释:

1)我认为问题是stackview它自动设置子视图的高度.

2)是的,我可以使用动态高度单元格,但这不是重点,因为对我而言,单元格的高度就足够了,当文本没有占据两行时,单元格下面会有更多的空白空间.所以我的问题只是包装嵌入在stackview中的标签文本

CSj*_*kie 8

听起来你正在寻找的是动态单元高度,有一些事情需要发生才能工作:

1)设置标签行= 0

2)在viewDidLoad中设置tableview的estimatedRowHeight

3)在viewDidLoad中设置estimatedRowHeight后,将rowHeight设置为UITableViewAutomaticDimension或者在heightForRow中返回UITableViewAutomaticDimension

4)确保您要动态更改高度的标签上没有高度限制

编辑更新的问题:

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

  • 像魅力一样工作! (2认同)