无法找到有效的解决方案。在所有这些自动布局和约束工作人员中有点丢失。 任务很简单 - 需要选择性地隐藏表格单元格中的一些信息。
如何在隐藏某些堆栈视图块时动态缩小行高?
我已经设定了:
TableView.RowHeight = UITableView.AutomaticDimension;
TableView.EstimatedRowHeight = 128;
以及最后一个堆栈视图底部和superview(单元格内容视图)之间的相关约束。但是当这个堆栈被隐藏时,显然必须有一些其他约束。 我做了另一个到主信息块(总是可见)和低优先级的superview底部。 但那不起作用......无法弄清楚约束,优先级和堆栈视图布局之间的所有关系。
想要提一下,由于内部上下文 - 基本上是多行标签,堆栈视图也具有动态大小。
答案 0 :(得分:1)
如果设置堆栈视图的hidden
属性,则它不再可见,但高度仍不为0,并且影响整个单元格高度。隐藏内容并重新计算内容视图高度的更好方法 - 将高度约束添加到堆栈视图并将其隐藏时设置为0。但它很复杂,因为堆栈视图的高度取决于内容。
我建议您将视图放在一个大的垂直堆栈视图中,然后将此垂直堆栈视图的顶部和底部约束连接到内容视图。堆叠视图会在隐藏孩子时自动调整高度,这可能会对您有所帮助。