Ios 选择时如何更改uitextfield边框
选择uitextfield或开始在其中键入文本时,如何更改其边框 我试过了,但没用检查代码Ios 选择时如何更改uitextfield边框,ios,swift,uitextfield,Ios,Swift,Uitextfield,选择uitextfield或开始在其中键入文本时,如何更改其边框 我试过了,但没用检查代码 @IBOutlet weak var email: UITextField! @IBOutlet weak var password: UITextField! @IBOutlet weak var userName: UITextField! 这里怎么了没有错误但什么也没发生 func fieldLayout () { if (self.password.isSelected == true
@IBOutlet weak var email: UITextField!
@IBOutlet weak var password: UITextField!
@IBOutlet weak var userName: UITextField!
这里怎么了没有错误但什么也没发生
func fieldLayout () {
if (self.password.isSelected == true) {
self.password.layer.borderWidth = 4
self.password.layer.borderColor = #colorLiteral(red: 0, green: 0.8362106681, blue: 1, alpha: 1)
}
if (self.email.isSelected == true) {
self.email.layer.borderWidth = 5
self.email.layer.borderColor = #colorLiteral(red: 0, green: 0.8362106681, blue: 1, alpha: 1)
}
if (self.userName.isSelected == true) {
self.userName.layer.borderWidth = 5
self.userName.layer.borderColor = #colorLiteral(red: 0, green: 0.8362106681, blue: 1, alpha: 1)
}
}
如果您想在用户开始键入时突出显示TextField,我建议您在用户开始键入时使用UITextField委托方法textFieldDidBeginEditing进行处理
func textFieldDidBeginEditing(_ textField: UITextField) {
if textField == email {
textField.layer.borderWidth = 4
textField.layer.borderColor = // your color
} else if ...
}
当用户完成键入时,您还可以使用TextFieldDiEndEditing委托方法进行处理
func textFieldDidEndEditing(_ textField: UITextField) {
textField.layer.borderWidth = // default width
textField.layer.borderColor = // default color
}
因此,如果要使用这些方法,请不要忘记在viewDidLoad中设置文本字段的委托属性
email.delegate = self
password.delegate = self
userName.delegate = self
另外,不要忘记实现UITextFieldDelegate协议
如果您想在用户开始键入时突出显示TextField,我建议您在用户开始键入时使用UITextField委托方法textFieldDidBeginEditing进行处理
func textFieldDidBeginEditing(_ textField: UITextField) {
if textField == email {
textField.layer.borderWidth = 4
textField.layer.borderColor = // your color
} else if ...
}
当用户完成键入时,您还可以使用TextFieldDiEndEditing委托方法进行处理
func textFieldDidEndEditing(_ textField: UITextField) {
textField.layer.borderWidth = // default width
textField.layer.borderColor = // default color
}
因此,如果要使用这些方法,请不要忘记在viewDidLoad中设置文本字段的委托属性
email.delegate = self
password.delegate = self
userName.delegate = self
另外,不要忘记实现UITextFieldDelegate协议
您可以这样做:
func textFieldDidBeginEditing(_ textField: UITextField) {
// textField.borderStyle = .line
textField.layer.borderColor = UIColor.red.cgColor //your color
textField.layer.borderWidth = 2.0
}
func textFieldDidEndEditing(_ textField: UITextField) {
textField.layer.borderWidth = 0.0
}
您可以检查textField标记并相应地设置颜色。您可以这样做:
func textFieldDidBeginEditing(_ textField: UITextField) {
// textField.borderStyle = .line
textField.layer.borderColor = UIColor.red.cgColor //your color
textField.layer.borderWidth = 2.0
}
func textFieldDidEndEditing(_ textField: UITextField) {
textField.layer.borderWidth = 0.0
}
您可以检查textField标记并相应地设置颜色。`func textField didbeginediting_utextfield:UITextField{if textField==email{email.layer.borderWidth=4 email.layer.borderColor=colorLiteralred:0.9254902005,绿色:0.2352941185,蓝色:0.1019607857,alpha:1}其他{return}}`在没有任何事情发生之前尝试过also@SemarYelse用于其他文本字段。因此,请确保设置文本字段的委托`func textField didbeginediting_utextfield:UITextField{如果textField==email{email.layer.borderWidth=4 email.layer.borderColor=colorLiteralred:0.9254902005,绿色:0.2352941185,蓝色:0.1019607857,alpha:1}否则{return}}`在没有发生任何事情之前尝试过also@SemarYelse用于其他文本字段。因此,请确保设置文本字段的委托