我有一个表格 View 单元格。我为公寓的租户制作了一个应用程序来报告房间设施的缺陷。如果缺陷已经被修复(状态:Complete),服务器的数据将给出defect.status == 2(如果defect.status == 1,仍在修复过程中),它会显示YES和NO按钮,如上图。
我希望如果它仍在修复过程中,则不会出现包含“您是否满意”标签和是否按钮的 View 。预期结果应该如下图所示
这是我用来删除满意或不满意 View 的代码
extension RequestDefectVC : UITableViewDataSource {
//MARK: Table View Delegate & Datasource
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return listDefects.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "defectCell", for: indexPath) as! RequestDefectCell
let dataDefect = listDefects[indexPath.row]
cell.defectData = dataDefect
if dataDefect.status == 2 {
if let wantToRemoveView = cell.commentResponseView {
wantToRemoveView.removeFromSuperview()
}
}
return cell
}
}
但不幸的是,如果 wantToRemoveView.removeFromSuperview()
被触发,它将删除所有单元格中的所有 View ,即使状态已完成,如下图所示
我希望在状态完成时显示satisfied or not view
,否则将被删除。怎么做?
最佳答案
因为你的costumed cells是重复使用的,移除views会造成不确定的影响。您实际上不需要删除特定 View ,只要它保持不可见即可。
if dataDefect.status == 2 {
if let wantToRemoveView = cell.commentResponseView {
wantToRemoveView.isHidden = true
}
} else {
if let wantToRemoveView = cell.commentResponseView {
wantToRemoveView.isHidden = false
}
}
关于ios - 如何快速在特定表格 View 行执行特定操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50504240/