Comment définir swift 3 UITextField border color?

Bonjour, je n'ai pas de code d'erreur de travail pour UITextField changement de la couleur de la frontière, mais en l'utilisant dans Swift 3 ne change pas la couleur de la frontière textfield 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 !

32
demandé sur Lion 2016-07-19 16:41:17

5 réponses

vous devez aussi définir border width, parce que la couleur de votre bordure est déjà définie mais la largeur de votre bordure par défaut est de 0.0 donc vous ne pouvez pas la voir.

Donc, définissez la largeur de la bordure quelque chose comme:

  email.layer.borderWidth = 1.0

mise à Jour :

Votre code devrait ressembler,

 @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

}
68
répondu Lion 2017-07-13 05:08:50

Essayez d'utiliser cette, Il pourrait être utile de vous

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
7
répondu Ashish Thakkar 2016-07-19 13:43:15

je pense que vous devriez d'abord 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 puis définissez une couleur :)

6
répondu kamwysoc 2016-07-19 13:44:04

utilisez le code ci-dessous dans swift 3:

dans la vue n'a charger

 outer_line.layer.borderWidth = 1
 outer_line.layer.borderColor = UIColor.lightGray.cgColor
6
répondu Nimisha joshy 2018-01-19 07:18:57

Mise À Jour De Swift 3:

si vous voulez définir la bordure inférieure à UITextField, utilisez les lignes suivantes:

// fonction defination :

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 Le ViewDidLoad() :

self.setBottomBorderToTextFields()
5
répondu Kiran jadhav 2017-08-16 06:17:13