2016-07-19 10 views
19

Witam, pracuję bez kodów błędów dla zmiany koloru obramowania UITextfield, ale gdy używam go w Swift 3 nie zmieniam koloru obramowania pola tekstowego i nie daje to błędu. Potrzebuję twojej pomocy, moje kody poniżej.Jak ustawić kolor graniczny 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 


} 

Dziękujemy!

Odpowiedz

44

Należy również ustawić border width, ponieważ kolor obramowania jest ustawiona już jednak swoją domyślną szerokość granica wynosi 0.0, więc nie można zobaczyć to.

Więc, szerokość ustawiona granica coś,

email.layer.borderWidth = 1.0 

Aktualizacja:

Twój kod powinien wyglądać,

@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

dziękuję pracował myślę będzie pomóc wielu ludziom u można zapisać pełne kody język twoja odpowiedź przyjmie to – SwiftDeveloper

+0

Nie ma za co ... :) zaktualizowana odpowiedź zgodnie z sugestią .. :) – Lion

+0

Myślę, że musisz usunąć() w szybkim 3 –

5

spróbuje użyć tego To może być pomocne dla Ciebie

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

myślę, że powinien najpierw zapewnić 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 


} 

a następnie ustawić kolor :)

+1

dziękuję, pracowałem, myślę, że pomoże wielu ludziom – SwiftDeveloper

4

Updated Swift 3:

jeśli chcesz ustawić dolną granicę do UITextField, używany poniżej linii kodu:

// Definiowanie funkcji:

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) 
} 

// W viewDidLoad():

self.setBottomBorderToTextFields() 
5

Korzystanie poniższy kod w swift 3:

zdaniem zrobił obciążenie

outer_line.layer.borderWidth = 1 
outer_line.layer.borderColor = UIColor.lightGray.cgColor 
Powiązane problemy