Bonjour, je ne travaille pas avec des codes d'erreur pour le changement de couleur de bordure UITextfield, mais lors de son utilisation dans Swift 3, ne changez pas la couleur de la bordure de champ de texte et ne donne pas d'erreur. J'ai besoin de votre aide mes codes ci-dessous.
@IBOutlet weak var email: UITextField!
@IBOutlet weak var pass: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
let myColor : UIColor = UIColor.white()
email.layer.borderColor = myColor.cgColor
pass.layer.borderColor = myColor.cgColor
}
Merci !
Vous devez également définir border width
, car votre couleur de bordure est déjà définie mais que votre largeur de bordure par défaut est 0.0, vous ne pouvez donc pas la voir.
Donc, définissez la largeur de la bordure comme
email.layer.borderWidth = 1.0
Mise à jour:
Votre code devrait être comme,
@IBOutlet weak var email: UITextField!
@IBOutlet weak var pass: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
let myColor = UIColor.white
email.layer.borderColor = myColor.cgColor
pass.layer.borderColor = myColor.cgColor
email.layer.borderWidth = 1.0
pass.layer.borderWidth = 1.0
}
Utilisez le code ci-dessous dans Swift 3
:
en vue ne charge
outer_line.layer.borderWidth = 1
outer_line.layer.borderColor = UIColor.lightGray.cgColor
Essayez de l'utiliser, cela pourrait vous être utile
let myColor : UIColor = UIColor( red: 0.5, green: 0.5, blue:0, alpha: 1.0 )
myTextField.layer.masksToBounds = true
myTextField.layer.borderColor = myColor.CGColor
myTextField.layer.borderWidth = 2.0
Je pense que vous devriez d'abord fournir un borderWidth
@IBOutlet weak var email: UITextField!
@IBOutlet weak var pass: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
let myColor : UIColor = UIColor.white()
email.layer.borderWidth = 1
email.layer.borderColor = myColor.cgColor
pass.layer.borderColor = myColor.cgColor
}
et ensuite définir une couleur :)
Mis à jour Swift 3:
si vous souhaitez définir la bordure inférieure sur UITextField, utilisé sous les lignes de code:
// définition de la fonction:
func setBottomBorderToTextFields() {
let bottomLine = CALayer()
bottomLine.frame = CGRect(x: 0, y: yourTextFieldName.frame.height - 1, width: yourTextFieldName.frame.width, height: 1)
bottomLine.backgroundColor = UIColor.gray.cgColor // background color
yourTextFieldName.borderStyle = UITextBorderStyle.none // border style
yourTextFieldName.layer.addSublayer(bottomLine)
}
// Dans ViewDidLoad ():
self.setBottomBorderToTextFields()
Ça fonctionne.
txtemail.layer.borderWidth = 1.0
txtemail.layer.borderColor = UIColor.blue.cgColor
Ça marche vraiment