我在視圖上有幾個UITextField必須看起來相同。我發現我可能會創建一個擴展,它將預先設置我的文本字段(那些我想擁有相同樣式的字段)。在Swift中使用自定義樣式創建UITextField擴展
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
}()
所以大部分這些屬性應納入推廣和我希望能夠他們夫婦添加到它時,我聲明變量。
你能幫我嗎?我一直在尋找如何創建一個擴展,但似乎沒有爲我工作。
謝謝!
爲什麼不聲明方法而不是擴展中的屬性?你將能夠傳遞參數。 – Crazyrems
@Crazyrems聽起來不錯,請你舉個例子嗎? – mrGott
這基本上是他的答案http://stackoverflow.com/a/38850484/1392046。您應該在框架中添加更多參數以根據需要定製您的字段。 – Crazyrems