我试图在单击单元格时更改UITableView的第一个UITableViewCell的高度,我已经能够在点击时改变高度,但它没有给我所需的效果,它降低了从顶部的高度细胞不是底部,我希望高度从底部减少到特定点向顶部。这是我目前正在使用的代码。
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == 0 {
return checkHeightBasedOnVisibility()
}else if indexPath.row == 1 {
return 300
}else {
return 200
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.row == 0 {
if isVisible {
isVisible = false
tableView.reloadData()
}
else {
isVisible = true
tableView.reloadData()
}
}
}
// MARK: Private Methods
func checkHeightBasedOnVisibility() -> CGFloat {
if isVisible {
return 239
}
else {
return 44
}
}
答案 0 :(得分:0)
让func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
函数看起来像这样:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.row == 0 {
isVisible = !isVisible
tableView.beginUpdates()
tableView.endUpdates()
}
}
答案 1 :(得分:0)
问题来自我设置的约束,我错误地将表的底部约束到不同的视图,而不是它下面的视图。