【发布时间】:2018-06-26 09:11:54
【问题描述】:
我想为 StackView 的 TableViewCell 的子视图设置动画。当我隐藏 StackView 时,TableViewCell 高度没有更新。 google了一下,发现应该调用tableView.beginUpdates和tableView.endUpdates通知tableView单元格有变化。问题是隐藏动画和tableview的变化不同步。
这是表格视图单元格的视图层次结构
内容视图 - 容器视图(用于卡片阴影) - 容器堆栈视图 - [用于标签和开关的堆栈视图] & [用于 StudentView 容器的StudentStackView]
如何以正确的方式同步单元格高度和隐藏动画?
这里是 github 仓库:GitHub
【问题讨论】:
-
对于遇到这个问题的任何人来说,这个问题是由 UILabel 扩展以填充可见区域引起的。我可以通过在标签下方添加一个空的 UIView 并将标签的内容拥抱优先级设置为必需来解决这个问题。这会导致空白 UIView 增长以填充空间而不是标签。从视觉上看,它看起来像单元格刚刚折叠
-
@pnavk:内容拥抱优先级对我来说很关键——任何遇到这种情况的人都可以尝试使用标签上的内容拥抱优先级!
标签: ios swift uitableview uistackview