首页 > 解决方案 > 如何以编程方式制作可重用的 UILabel 和 UITextField

问题描述

我想制作一个可重用的 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
}()

标签: iosswiftuitextfielduilabel

解决方案


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

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)

推荐阅读