Как получить текст из поля UIText внутри StackView
Я пытаюсь получить текст из текстового поля, которое я создал внутри моего стека, но я не могу это сделать. Мне было интересно, если кто-нибудь может мне помочь с этим.
Например, я пытаюсь сделать следующее: когда я нажимаю кнопку Label.text = myTextField.text.
Это мой код:
var mySttackView: UIStackView = {
//NAMETEXTFIELD
let myTextField = UITextField() //<---- want to get the text from this when I press a button but I can't get access to it
myTextField.translatesAutoresizingMaskIntoConstraints = false
myTextField.placeholder = "MY TEXT"
let theStackview: UIStackView = UIStackView(arrangedSubviews: [myTextField])
theStackview.axis = .vertical
theStackview.translatesAutoresizingMaskIntoConstraints = false
theStackview.distribution = .fillEqually
theStackview.spacing = 12
return allTextFields
}()
1 ответ
Если вы хотите получить доступ к myTextField
объявите это вне замыкания, которое создает UIStackView
,
Если myTextField
а также myStackView
переменные экземпляра, то myStackView
создание закрытия не может относиться к myTextField
если вы также не объявите myStackView
быть lazy
,
let myTextField = UITextField()
lazy var myStackView: UIStackView = {
myTextField.translatesAutoresizingMaskIntoConstraints = false
myTextField.placeholder = "MY TEXT"
let theStackview: UIStackView = UIStackView(arrangedSubviews: [myTextField])
theStackview.axis = .vertical
theStackview.translatesAutoresizingMaskIntoConstraints = false
theStackview.distribution = .fillEqually
theStackview.spacing = 12
return theStackview
}()