gpt4 book ai didi

swift - 当我点击它时,UIButton 图像不会改变

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

我的 TableViewCell 类中有一个 button,带有一个框的默认图像。我希望 button 的图像在被选中时更改为另一个图像,但这对我不起作用。

这是 TableViewCell 类:

class NameHeaderTableViewCell: UITableViewCell {

@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var checkMarkButton: UIButton!

override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}

func setup(model: UserModel) {
nameLabel.text = model.name
}
}

在我的 ViewController 中,我添加了一个目标来在单击时更改 button 的状态:

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let userModel = Data.userModels[section]
let cell = tableView.dequeueReusableCell(withIdentifier: "nameCell") as! NameHeaderTableViewCell

cell.setup(model: userModel)
cell.checkMarkButton.addTarget(self, action: #selector(handleTap), for: .touchUpInside)



cell.enable(on: false)
if isUserEditing == true {
cell.enable(on: true)
}
return cell.contentView
}
@objc func handleTap(sender: UIButton) {

if sender.isSelected {
sender.isSelected = false
} else {
sender.isSelected = true
}

tableView.reloadData()
}

//This just enables and disables the table headers depending on if there is text in a UITextField
extension UITableViewCell {
func enable(on: Bool) {
for view in contentView.subviews {
view.isUserInteractionEnabled = on
view.alpha = on ? 1 : 0.5
}
}
}

我还在 storyboard 中设置了特定状态的图像:

For the default state, I set the image to an unchecked box For the selected state, I set the image to a checked box

同样,当 textfield 中有文本时,单元格变为可用,但是当我尝试单击 button 时,图像没有改变。我已经仔细检查,甚至确保目标成员资格是正确的,但没有运气。非常感谢任何帮助,谢谢!

最佳答案

尝试使用此方法以编程方式设置按钮的图像。为状态 normalselected 设置两个不同的图像。

checkMarkButton.setImage(UIImage(named: "selected_image"), for: .selected)
checkMarkButton.setImage(UIImage(named: "normal_image"), for: .normal)

然后在您的选择器中:

@objc func handleTap(sender: UIButton) {
sender.isSelected = !sender.isSelected
}

关于swift - 当我点击它时,UIButton 图像不会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56589593/

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