2016-07-19 436 views
19

Salve, non ho elaborato codici di errore per il cambiamento del colore del bordo UITextfield ma quando lo utilizzo in Swift 3 non modifica il colore del bordo del campo di testo e non restituisco l'errore. Ho bisogno del tuo aiuto i miei codici sotto sotto.Come impostare swift 3 UITextField colore del bordo?

@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 


} 

Grazie!

risposta

44

È inoltre necessario impostare border width, perché il colore del bordo è impostato già, ma la larghezza del bordo predefinito è 0,0, quindi non è possibile vedere esso.

Quindi, larghezza impostata confine qualcosa di simile,

email.layer.borderWidth = 1.0 

Aggiornamento:

Il codice dovrebbe essere come,

@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

ringraziamento lavorato credo sarà aiutare molte persone può u scrivere codici pieno in la tua risposta lo accetterò – SwiftDeveloper

+0

Prego ... :) risposta aggiornata secondo il tuo suggerimento .. :) – Lion

+0

penso che sia necessario rimuovere() in swift 3 –

5

tenta di utilizzare questo, Potrebbe essere utile a voi

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

Penso che si dovrebbe prima di fornire un 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 


} 

e quindi impostare un colore :)

+1

grazie che hai lavorato penso che aiuterà molte persone – SwiftDeveloper

4

Aggiornato Swift 3:

se si desidera impostare il bordo inferiore a UITextField, utilizzato sotto righe di codice:

// definizione della funzione:

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

Utilizza il codice qui sotto in swift 3:

in considerazione è stato caricato

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