gpt4 book ai didi

ios - 单击时无法更改 UItableViewCell 中按钮的图像

转载 作者:行者123 更新时间:2023-11-30 13:42:32 25 4
gpt4 key购买 nike

我有一个带有多个单元格的 UITableView,每个单元格中都有一个按钮。第一个单元格中的按钮是绿色的,其余的按钮是灰色的。我想将其设置为如果用户点击任何灰色按钮,第一个单元格中的按钮将变为灰色,而点击的按钮将变为绿色。

@IBOutlet weak var answeredTick: UIButton!
cell.answeredTick.tag = indexPath.row


@IBAction func answerTickPressed(sender: AnyObject) {
guard let answeredTick = sender as? UIButton else { return }

if let buttonToMakeGrey = answeredTick.viewWithTag(0) as? UIButton {
buttonToMakeGrey.setImage(UIImage(named: "greyTick.png"), forState: UIControlState.Normal)
} else {
print("no success")
}

if let buttonToMakeGrey = answeredTick.viewWithTag(answeredTick.tag) as? UIButton {
buttonToMakeGrey.setImage(UIImage(named: "greenTick.png"), forState: UIControlState.Normal)
} else {
print("no success 1")
}
}

上面总是无法将绿色勾号更改为灰色,并打印“没有成功”。这是为什么?我该如何解决它?

最佳答案

我认为answerThick没有标签0的 View 。

例如:您单击第三行按钮,“guard letanswerTick”变量仅具有“2” View 的标记。它没有第一个单元格的answerTick 实例。

您可以通过 cellForRowAtIndexPath 访问第一个单元格,然后更改颜色。但是,您应该小心 dequeueReusableCellWithIdentifier 单元格,您可以看到多个绿色按钮。

简单的方法:您可以保存单元格数组。当您按下按钮或单元格时,您可以使用数组更改必要的变量并重新加载 tableView。

关于ios - 单击时无法更改 UItableViewCell 中按钮的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35389771/

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