如何以编程方式制作可重用的UILabel和UITextField

时间:2018-12-24 09:59:56

标签: ios swift uitextfield uilabel

我想制作一个可重复使用的UILabel和UITextField,以免重复出现,该怎么做?这是我的代码

let nameLabel: UILabel = {
    let label = UILabel()
    label.text = "Name"
    label.textColor = .white
    return label
}()

let nameTextField: UITextField = {
    let tv = UITextField()
    tv.placeholder = "Name"
    tv.textColor = #colorLiteral(red: 0.6078431373, green: 0.6078431373, blue: 0.6078431373, alpha: 1)
    return tv
}()

let emailLabel: UILabel = {
    let label = UILabel()
    label.text = "Email"
    label.textColor = .white
    return label
}()

let emailTextField: UITextField = {
    let tv = UITextField()
    tv.placeholder = "Email"
    tv.textColor = #colorLiteral(red: 0.6078431373, green: 0.6078431373, blue: 0.6078431373, alpha: 1)
    return tv
}()

1 个答案:

答案 0 :(得分:2)

使用计算属性,每次访问都会返回一个新实例

var emailLabel: UILabel  {
    let label = UILabel()
    label.text = "Default"
    label.textColor = .green
    view.addSubview(label)
    return label
}

let em1 = emailLabel 
em1.text = "dshjsdhdshdhdshjdsh" 
em1.frame = CGRect(x: 0, y: 0, width: 100, height: 100)


let em2 = emailLabel 
em2.text = "dshjsdhdshdhdshjdsh"
em2.frame = CGRect(x: 0, y: 100, width: 100, height: 100)
相关问题