gpt4 book ai didi

ios - 更新 tableview 中的单元格同时更新另一个单元格

转载 作者:行者123 更新时间:2023-11-28 15:52:01 25 4
gpt4 key购买 nike

我在一个场景中有点困惑,我认为这是我的逻辑错误请帮助我解决它,我真的很困惑。场景是:

  1. 表格中有问题。

  2. 每个问题都有答案,第一个是,第二个是,第三个是不适用

  3. 默认选择YES
  4. 如果用户单击Yes 并且Not Applicable UI 不会发生变化,但是如果用户单击NO 有一个 textfield 显示,用户应该在其中描述 NO 的原因。

现在这些都发生了但是当用户点击 NO 时会出现问题,文本字段显示但是当用户向下滚动另一个单元格时显示文本字段,并且在该单元格上也选择了 NO,但用户没有选择。我认为它的索引问题或我的逻辑请帮助,我正在为按钮事件使用委托(delegate)模式。

请看下面的附件

When User Select NO in Question No. 0

And Scroll Down than Question No. 6 is also shown as NO

希望任何人帮助我,在此先感谢

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "FormCell", for: indexPath) as! FormCell

cell.questionLbl.text = "Question No \(indexPath.row): What is Your Name"
cell.index = indexPath as NSIndexPath?
cell.delegate = self
cell.tag = indexPath.row

return cell
}

func yesBtnPressedAt(indexPath: NSIndexPath) {
print("YES")

let cell = self.tableView.cellForRow(at: indexPath as IndexPath) as! FormCell
if(cell.tag == indexPath.row){
self.tableView.beginUpdates()

cell.yesBtn.backgroundColor = ColorUtilities.selectedAnswerColor
cell.noBtn.backgroundColor = ColorUtilities.unSelectedAnswerColor
cell.notApplicableBtn.backgroundColor = ColorUtilities.unSelectedAnswerColor

cell.resonTextFiled.isHidden = true
cell.goToTeamBtn.isHidden = true
cell.heightForMaineView.constant = 89.0
cell.heightForTextField.constant = 0.0

self.tableView.endUpdates()
}
}

func noBtnPressedAt(indexPath: NSIndexPath) {
print("NO")

let cell = self.tableView.cellForRow(at: indexPath as IndexPath) as! FormCell

if(cell.tag == indexPath.row){

self.tableView.beginUpdates()

cell.yesBtn.backgroundColor = ColorUtilities.unSelectedAnswerColor
cell.noBtn.backgroundColor = ColorUtilities.selectedAnswerColor
cell.notApplicableBtn.backgroundColor = ColorUtilities.unSelectedAnswerColor

cell.resonTextFiled.isHidden = false
cell.goToTeamBtn.isHidden = false

cell.heightForMaineView.constant = 129.0
cell.heightForTextField.constant = 30.0

self.tableView.endUpdates()

}
}

func notApplicableBtnPressedAt(indexPath: NSIndexPath) {
print("Not Applicable")

let cell = self.tableView.cellForRow(at: indexPath as IndexPath) as! FormCell

if(cell.tag == indexPath.row){

self.tableView.beginUpdates()

cell.yesBtn.backgroundColor = ColorUtilities.unSelectedAnswerColor
cell.noBtn.backgroundColor = ColorUtilities.unSelectedAnswerColor
cell.notApplicableBtn.backgroundColor = ColorUtilities.selectedAnswerColor

cell.resonTextFiled.isHidden = true
cell.goToTeamBtn.isHidden = true

cell.heightForMaineView.constant = 89.0
cell.heightForTextField.constant = 0.0

self.tableView.endUpdates()

} }

最佳答案

[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:@["your indexPath"] withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates];

干得漂亮

关于ios - 更新 tableview 中的单元格同时更新另一个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42189430/

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