我有一个自定义的tableview单元格,如果单击该单元格,则应该展开单元格,如果没有单击,则不应该展开单元格。
还有一个自定义视图,如果单击该单元格,我希望增加自定义视图的高度,如果未单击该单元格,则它应该是一定高度。此代码在cellForRowAt中设置< / p>
if TableView.rowHeight == 126 {
cell.CustomView = UIView(frame: CGRect(x: 7, y: 8, width: 359, height: 20))
return cell
}
else{
}
但我设置的更改视图高度的代码不起作用,我不知道从那里去哪里
正如您所看到的,我的问题是未单击单元格时,视图的底部是一条直线,但单击单元格时,底部是圆形的。我希望在未单击单元格时也可以舍入视图。
答案 0 :(得分:1)
致电beginUpdates
和endUpdates
以强制tableView
更新高度
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// new row selected
self.selectedIndex = indexPath
tableView.beginUpdates()
tableView.endUpdates()
}
答案 1 :(得分:1)
添加以下代码。希望这会对你有所帮助。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//performSegue(withIdentifier: "toDetail", sender: self)
self.isExpanded = true
self.selectedIndex = indexPath
tableView.beginUpdates()
tableView.endUpdates()
self.isExpanded = false
}
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
self.selectedIndex = IndexPath()
tableView.beginUpdates()
tableView.endUpdates()
}
礼貌:@JožeWs