我想在UITableView中隐藏一个静态单元格,并使用其数据源方法做到了这一点。但是,当我尝试再次显示它时,我无法显示。这是测试代码:
var flag = false
// MARK: - Table view data source
override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == 0 && flag {
return 0
} else {
return 44
}
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = super.tableView(tableView, cellForRowAt: indexPath)
cell.frame.size = CGSize(width: cell.frame.width, height: 44.0)
cell.alpha = 1
cell.autoresizingMask = UIView.AutoresizingMask(rawValue: 0)
cell.subviews.first?.frame.size = CGSize(width: cell.subviews.first?.frame.width ?? 0, height: 44.0)
cell.subviews.first?.alpha = 1
cell.subviews.first?.autoresizingMask = UIView.AutoresizingMask(rawValue: 0)
print("\(cell)")
return cell
} else {
return super.tableView(tableView, cellForRowAt: indexPath)
}
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
flag = !flag
tableView.reloadRows(at: [IndexPath(row: 0, section: 0)], with: .automatic)
}
答案 0 :(得分:0)
我发现我使用“ tableView.reloadData()”可以解决此问题。但这不是最好的方法。可能是苹果的错误吗?