Как получить текст из поля 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
}()
Другие вопросы по тегам