2016-07-19 2 views
19

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

@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 


} 

Спасибо!

ответ

44

Кроме того, необходимо установить border width, потому что ваш цвет границы устанавливается уже, но ваша ширина границы по умолчанию 0,0, так что вы не можете увидеть Это.

Таким образом, установить ширину границы что-то подобное,

email.layer.borderWidth = 1.0 

Update:

Ваш код должен быть, как

@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 

} 
+0

спасибо работал я думаю, что будет помогать многим людям может у писать полные коды в ваш ответ я приму это – SwiftDeveloper

+0

Добро пожаловать ... :) обновленный ответ согласно вашему предложению .. :) – Lion

+0

Мне кажется, вам нужно удалить() в swift 3 –

5

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

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 
5

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


} 

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

+1

Спасибо, я работал, я думаю, поможет многим людям – SwiftDeveloper

4

Обновлено 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() 
5

Используйте следующий код в swift 3:

ввиду сделал нагрузки

outer_line.layer.borderWidth = 1 
outer_line.layer.borderColor = UIColor.lightGray.cgColor 
Смежные вопросы