Как установить 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
}
Спасибо!
Ответы
Ответ 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
Это работает.
- дать ширину границы
- и после дать bgcolor.
txtemail.layer.borderWidth = 1.0
txtemail.layer.borderColor = UIColor.blue.cgColor
Это определенно работает