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 !
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
}
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
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 :)
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
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()