2017-08-24 117 views
1

我试图在tableview单元格中插入一些多行标签,但它看起来像下面的图片。我希望文本在换行符处换行,并根据需要占用更多行,并在必要时增加单元格的高度。iOS - Swift:TableView行中的多行标签

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

该标签嵌入在垂直堆栈视图中,而该视图又嵌入另一个堆栈视图中。

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

enter image description here

编辑:

我加一点解释:

1)我认为这个问题是stackview,它的自动设置的儿童观的高度。

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

+0

所以,你想让单元格的高度动态化吗? –

+0

@AhmadF我对问题添加了一个解释 –

回答

3

这听起来像你正在寻找的东西是动态的单元格的高度,有需要的情况发生了,要工作几件事情:

1 )组标记行= 0

2)设置的tableview的estimatedRowHeight在viewDidLoad中

3)无论是在viewDidLoad中设置estimatedRowHeight后rowHeight的设置为UITableViewAutomaticDimension或heightForRow返回UITableViewAutomaticDimension

4)确保你没有对要改变高度动态

编辑的更新问题标签高度限制:

由于标签是要确保一个堆栈视图堆栈视图没有任何高度限制,并且当标签展开时它会根据需要调整高度。

+0

我已经尝试了您提到的所有内容,如果我设置了UITableViewAutomaticDimension和estimatedRowHeight,则内容甚至不会显示并且单元格已折叠 –

+0

如果单元格已折叠,那么您很可能无法正确设置故事板中的限制。确保您拥有所有必需的约束条件,并且单元格contentview的顶部与顶部标签以及底部与底部标签之间存在明确的关联。否则,自动尺寸将为0. – CSjunkie

+0

这是其他用户发布的链接,它包含的信息在此处会有所帮助,而不是其他用户指出的信息:https://www.raywenderlich.com/129059/self-sizing-table-view-cells – CSjunkie