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

标签 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
}()

最佳答案

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

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)

关于ios - 如何以编程方式制作可重用的 UILabel 和 UITextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53911880/

相关文章:

objective-c - 如果我以编程方式在viewDidLoad中添加控件,如何从其他方法访问它?

ios - 将 AnyObject 转换为嵌套在数组中的字典

ios - 提高 SceneKit Playground 速度

AlertController 内的 Html 文件?

swift - 为什么基类中的第二个初始化程序会中断编译?

swift - 从 UIAlertController 中的 UITextField 获取字符串 (Swift)

ios - 外围设备的中心写入特性(iOS 核心蓝牙)

swift - 无法从函数取回值以将其分配给标签

ios - 限制用户只能输入七个逗号分隔的单词

ios - 在键盘上方向上移动文本字段