Как сделать многоразовые UILabel и UITextField программно - PullRequest
0 голосов
/ 24 декабря 2018

Я хочу сделать повторно используемые 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 голосов
/ 24 декабря 2018

Используйте свойство computed, он будет возвращать новый экземпляр при каждом доступе

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)
...