快速单击按钮时如何更改UITextField textColor

时间:2018-08-15 08:02:49

标签: ios swift

我已经创建了如下自定义UITextField

@IBInspectable var hasError: Bool = false {
    didSet {
        self.borderColor = hasError ? .red: .black
        self.textColor = hasError ? .red : .black
    }
}

当我单击“按钮”,然后隐藏键盘,然后将UITextField textColor更改为红色时,我做了如下操作。

@IBAction func checkAction(_ sender: AnyObject) {   
    DispatchQueue.main.async {
        self.myTextField.hasError = true
    }
}

上面的代码不起作用,因为调用checkAction动作时textColor不会变为红色。令人惊讶的是,当我添加了该行_ = myTextField.becomeFirstResponder()并再次运行它时,代码正在工作。我的问题是让我知道如何通过不在该函数中添加键盘_ = myTextField.becomeFirstResponder()来将UITextField颜色更改为红色。谢谢。

0 个答案:

没有答案