如何使用UIStackView更改UITableViewCell的布局

时间:2019-02-14 15:25:22

标签: ios swift interface-builder

我有一个带有垂直UIStackView的自定义UITableViewCell。堆栈视图又有2个UILabel,默认情况下其中之一是隐藏的。取消隐藏第二个标签时,如何更改单元格的高度以在堆栈视图中正确显示两个标签。在按钮上单击时,当我显示第二个标签时,它将尝试显示两个标签,且两个标签的高度彼此重叠,但是当我上下滚动视图时,它会重新渲染。

我试图在没有帮助的情况下调用SizeToFit和LayoutIfNeeded。如何更改行/单元格的高度,以使StackView中的两个标签看起来都正确?

Cell with a stackview and second label hidden Cell with a stackview and second label unhidden

3 个答案:

答案 0 :(得分:0)

单击按钮后,将显示标签2nd,您应该重新加载表格视图,或者精确地重新加载单元格,单元格的高度将发生变化,单元格将被重新渲染

答案 1 :(得分:0)

点击显示两个标签的按钮后,尝试用reloadRows(at indexPaths: [IndexPath], with animation: UITableView.RowAnimation)重新加载该行。

答案 2 :(得分:0)

您可以打电话

tableView.beginUpdates()
tableVIew.endUpdates()

点击按钮后,您的单元格将更改高度。该解决方案与动画兼容。