更改图像时,UIButton变得不可见

时间:2017-11-29 07:13:43

标签: ios swift uibutton

当我第一次按下按钮使用以下代码时,它可以工作。当我再次按下它时,安全输入部分工作,但按钮变得可见。虽然它仍然存在但仍然有效。知道我做错了吗?

 @IBAction func showPasswordButtonPressed(_ sender: UIButton) {
    if passwordTextField.text != ""  {
            if passwordTextField.isSecureTextEntry == true {
                passwordTextField.isSecureTextEntry = false
                let btnImage = UIImage(named: "password-hide")
                passwordButton.setImage(btnImage, for: UIControlState.normal)
            } else  {
                passwordTextField.isSecureTextEntry = true
                let btnImage = UIImage(named: "password-show")
                passwordButton.setImage(btnImage, for: UIControlState.normal)
        }
    }
}

1 个答案:

答案 0 :(得分:1)

如果无法找到图像,UIImage将返回nil。 UIButton.setImage接受一个可选值,因此如果传递了一个nil图像,则会静默设置。

在使用之前,在代码中添加检查图像不是nil。