2016-07-19 12 views
19

Hallo ich habe keine Fehlercodes für UITextfield Rahmenfarbe ändern, aber wenn Sie es in Swift 3 verwenden, ändern Sie nicht Textfeld Rahmenfarbe und gibt keinen Fehler. Ich brauche deine Hilfe meine Codes unten.Wie setzt swift 3 UITextField border color?

@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 


} 

Vielen Dank!

Antwort

44

Sie müssen auch border width setzen, weil Sie Ihre Rahmenfarbe bereits gesetzt ist, aber Ihre Standard-Randbreite ist 0.0, so dass Sie nicht sehen es.

So setzen Grenze etwas Breite wie,

email.layer.borderWidth = 1.0 

Update:

Ihr Code sein sollte,

@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

danke arbeitete ich glaube, vielen Menschen helfen wird, können u volle Codes in schreiben Ihre Antwort werde ich akzeptieren – SwiftDeveloper

+0

Gern geschehen ... :) aktualisierte Antwort nach Ihrem Vorschlag .. :) – Lion

+0

Ich denke, Sie müssen() in swift 3 –

5

versuchen, dies zu nutzen, Es könnte sein, dass Sie hilfreich

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

Ich denke, sollten Sie eine bieten 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 


} 

und stellen Sie dann eine Farbe :)

+1

Danke, ich denke, wird vielen Menschen helfen – SwiftDeveloper

4

Aktualisiert Swift 3:

, wenn Sie den unteren Rand zu UITextField festlegen möchten, unter Codezeilen verwendet:

// funktion definition:

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

// In ViewDidLoad():

self.setBottomBorderToTextFields() 
5

Verwenden Sie den Code unten in swift 3:

im Blick haben Last

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