gpt4 book ai didi

ios - 如何快速在特定表格 View 行执行特定操作?

转载 作者:行者123 更新时间:2023-11-28 14:41:31 25 4
gpt4 key购买 nike

enter image description here

我有一个表格 View 单元格。我为公寓的租户制作了一个应用程序来报告房间设施的缺陷。如果缺陷已经被修复(状态:Complete),服务器的数据将给出defect.status == 2(如果defect.status == 1,仍在修复过程中),它会显示YES和NO按钮,如上图。

我希望如果它仍在修复过程中,则不会出现包含“您是否满意”标签和是否按钮的 View 。预期结果应该如下图所示

enter image description here

这是我用来删除满意或不满意 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 ,即使状态已完成,如下图所示

enter image description here

我希望在状态完成时显示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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com