web-dev-qa-db-fra.com

Comment définir Swift 3 UITextField couleur de la bordure?

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 !

44
SwiftDeveloper

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

}
92
Lion

Utilisez le code ci-dessous dans Swift 3:

en vue ne charge

 outer_line.layer.borderWidth = 1
 outer_line.layer.borderColor = UIColor.lightGray.cgColor
10
Nimisha joshy

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
8
Ashish Thakkar

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 :)

6
kamwysoc

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()
5
Kiran jadhav

Ça fonctionne.

  1. donner la largeur de la bordure
  2. et après donner bgcolor.
txtemail.layer.borderWidth = 1.0
txtemail.layer.borderColor = UIColor.blue.cgColor

Ça marche vraiment

1
Dynamic Methods