繁体   English   中英

快速按下按钮时填充按钮图标

[英]Fill button icon when button pressed in swift

我有一个带图标的按钮,我想在按下按钮图标时用颜色填充,然后再次按空颜色并返回到以前的状态

在此处输入图片说明

注意:每次按下后,我都不想更改图标。

这是您如何实现此目标的示例,如果您不了解某些内容,请告诉我。

class ViewController: UIViewController {

    @IBOutlet weak var someBtn: UIButton!

    override func viewDidLoad() {
        super.viewDidLoad()
        configureUI()
    }

    //Setting up images for normal and selected state.
    func configureUI() {
        let image = UIImage(named: "image")
        let imageFilled = UIImage(named: "image-filled")
        someBtn.setImage(image, for: .normal)
        someBtn.setImage(imageFilled, for: .selected)
    }

    @IBAction func someBtnPressed(_ sender: Any) {
        // Toggle basically makes someBtn’s selected state either true or false when pressed
        someBtn.isSelected.toggle()
    }
}

您可以调用setImage(_:for:)方法来为特定状态设置按钮的图像。

当用户不按该按钮时,该按钮处于normal状态,因此您应该执行以下操作:

yourButton.setImage(hollowHeart, for: .normal)

当用户触摸按钮时,该按钮处于highlighted状态,因此您应该执行以下操作:

yourButton.setImage(filledHeart, for: .highlighted)

创建按钮后,只需在viewDidLoad执行一次即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM