我UITableView在我的iPhone应用程序中使用了一个,我有一个属于一个组的人员列表.我希望这样当用户点击特定的人(从而选择单元格)时,单元格的高度会增加,以显示多个UI控件来编辑该人的属性.
这可能吗?
我搜索过Stack Overflow和其他来源,但尽管有类似的问题标题我找不到解决方案.
我想要做的是与内容UITableViewCell height 一起制作动画.这是一个例子:

电池中间有一个蓝色面板.我希望这个面板的高度与单元格本身一起动画.
我试过两种方法:
第一:更改行高和设置约束,如上图所示:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.beginUpdates()
tableView.endUpdates()
}
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
let selectedIndexPath = tableView.indexPathForSelectedRow
return indexPath == selectedIndexPath ? 120.0 : 70.0
}
Run Code Online (Sandbox Code Playgroud)
第二步:将行的高度设置为UITableViewAutomaticDimension,将高度约束添加到蓝色区域,如果用户点击单元格,则更改此约束.
链接到回购
两种方式都会立即改变蓝色区域的高度,然后使细胞高度变为动画.我需要蓝色区域与单元格高度一起平滑地动画,因此单元格之间的白色间距保持不变.