gpt4 book ai didi

ios - UIButton 不改变图像

转载 作者:搜寻专家 更新时间:2023-11-01 06:21:04 25 4
gpt4 key购买 nike

我正在尝试为我的应用程序创建一个“赞”按钮。当我按下按钮时,我想让它变成第二张图片,当我再次按下它时,我让它变回第一张图片。

这是我的代码:

@IBAction func sendLike(sender: UIButton) {

if let _ = UIImage(named:"pinkLike.png") {
sender.setImage(UIImage(named:"like.png"), forState: .Normal)
}

if let _ = UIImage(named:"like.png") {
sender.setImage(UIImage(named:"pinkLike.png"), forState: .Normal)
}
}

出于某种原因,这行代码按我希望的方式工作:

if let _ = UIImage(named:"like.png") {
sender.setImage(UIImage(named:"pinkLike.png"), forState: .Normal)
}

但是当我再次按下按钮时,这一行并没有把它改回来:

if let _ = UIImage(named:"pinkLike.png") {
sender.setImage(UIImage(named:"like.png"), forState: .Normal)
}

最佳答案

您将这两个图像设置为正常状态,因此您的 "like.png" 将始终覆盖 "pinkLike.png" 图像。

您需要将"pinkLike.png" 置于不同的状态。

if let _ = UIImage(named:"pinkLike.png") {
sender.setImage(UIImage(named:"like.png"), forState: .Selected)
}

并在设置图像之前更改您选择的状态。所以你的代码将是这样的。

@IBAction func sendLike(sender: UIButton) {
sender.selected = !sender.selected
if let _ = UIImage(named:"pinkLike.png") {
sender.setImage(UIImage(named:"like.png"), forState: .Normal)
}

if let _ = UIImage(named:"like.png") {
sender.setImage(UIImage(named:"pinkLike.png"), forState: .Selected)
}
}

关于ios - UIButton 不改变图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34078777/

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