我已经在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
}
第二:将行的高度设置为UITableViewAutomaticDimension
,将高度约束添加到蓝色区域,如果用户点击单元格,则更改此约束。
的 Link to the repo
两种方式都会立即改变蓝色区域高度 ,然后设置单元格高度的动画。我需要蓝色区域与单元格高度一起平滑地进行动画制作,因此单元格之间的白色间距保持不变。