当我第一次按下按钮使用以下代码时,它可以工作。当我再次按下它时,安全输入部分工作,但按钮变得可见。虽然它仍然存在但仍然有效。知道我做错了吗?
@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)
}
}
}
答案 0 :(得分:1)
如果无法找到图像,UIImage将返回nil。 UIButton.setImage接受一个可选值,因此如果传递了一个nil图像,则会静默设置。
在使用之前,在代码中添加检查图像不是nil。