Подтвердить что ты не робот

Как установить swift 3 UITextField цвет границы?

Здравствуйте, у меня нет кодов ошибок для изменения цвета границы UITextfield, но при использовании в Swift 3 не изменяйте цвет рамки поля и не выдавайте ошибку. Мне нужна ваша помощь, мои коды ниже.

@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


}

Спасибо!

4b9b3361

Ответ 1

Вам также нужно установить border width, потому что ваш цвет рамки уже установлен, но ширина ширины по умолчанию 0.0, поэтому вы не можете его увидеть.

Итак, установите ширину границы примерно как

  email.layer.borderWidth = 1.0

Обновление:

Ваш код должен выглядеть следующим образом:

 @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

}

Ответ 2

Используйте приведенный ниже код в swift 3:

в поле зрения была загружена

 outer_line.layer.borderWidth = 1
 outer_line.layer.borderColor = UIColor.lightGray.cgColor

Ответ 3

Попробуйте использовать это, Это может быть полезно для вас.

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

Ответ 4

Я думаю, вы должны сначала предоставить 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


}

а затем установите цвет:)

Ответ 5

Обновлен Swift 3:

, если вы хотите установить нижнюю границу в UITextField, используя ниже строки кода:

//функция 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)
}

//В ViewDidLoad():

self.setBottomBorderToTextFields()

Ответ 6

Это работает.

  1. дать ширину границы
  2. и после дать bgcolor.
txtemail.layer.borderWidth = 1.0
txtemail.layer.borderColor = UIColor.blue.cgColor

Это определенно работает