Ich habe mehrere UITextFields auf der Ansicht, die gleich aussehen müssen. Ich habe herausgefunden, dass ich eine Extension erstellen kann, die meine Textfelder vordefiniert (die, die ich den gleichen Stil haben möchte).Erstellen UITextField Erweiterung in Swift mit benutzerdefinierten Styling
let passTextField: UITextField = {
let tf = UITextField()
//tf.backgroundColor = UIColor.blueColor()
tf.translatesAutoresizingMaskIntoConstraints = false
tf.layer.cornerRadius = 25
tf.layer.borderColor = UIColor(r: 34, g: 140, b: 204, a: 1).CGColor
tf.layer.borderWidth = 2.0
tf.layer.masksToBounds = true
/* Paddings */
tf.leftView = UIView(frame: CGRectMake(0, 0, 25, 0))
tf.leftViewMode = UITextFieldViewMode.Always
tf.rightView = UIView(frame: CGRectMake(0, 0, 25, 0))
tf.rightViewMode = UITextFieldViewMode.Always
/* Place Holder Formating */
let attributes = [
NSForegroundColorAttributeName: UIColor(r: 34, g: 140, b: 204, a: 1),
NSFontAttributeName : UIFont(name: "HelveticaNeue-Thin", size: 16)! // Note the !
]
tf.attributedPlaceholder = NSAttributedString(string: "Email", attributes:attributes)
return tf
}()
so dass die meisten dieser Attribute sollten in die Erweiterung einbezogen werden, und ich möchte in der Lage sein, einige von ihnen, um es hinzuzufügen, wenn ich die Variable deklarieren.
können Sie mir helfen? Ich habe gesucht, wie man eine Erweiterung erstellt, aber nichts scheint für mich zu funktionieren.
Vielen Dank!
Warum deklarieren Sie eine Methode anstelle einer Eigenschaft in Ihrer Erweiterung? Sie können Parameter übergeben. – Crazyrems
@Crazyrems das klingt großartig, können Sie bitte ein Beispiel veröffentlichen? – mrGott
Das ist im Grunde seine Antwort http://stackoverflow.com/a/38850484/1392046. Sie sollten dem Rahmen weitere Parameter hinzufügen, um Ihr Feld an Ihre Bedürfnisse anzupassen. – Crazyrems