как получить доступ к другим представлениям внутри определения представления в Swift 4 - PullRequest
0 голосов
/ 26 сентября 2018

когда я хочу сослаться на представление внутри другого, я получил эту ошибку:

значение типа '(LoginController) -> () -> (LoginController)' не имеет члена 'userNameTF'

и вот мой код:

class LoginController: UIViewController {
var userNameTF: UITextField = {
        let uName = UITextField()
        uName.translatesAutoresizingMaskIntoConstraints = false
        uName.textAlignment = .right
        uName.placeholder = "userName"
        uName.textColor = .gray
        uName.returnKeyType = .done
        return uName
    }()

private var contentView: MDCCard = {
        let view = MDCCard()
        view.translatesAutoresizingMaskIntoConstraints = false
        view.cornerRadius = 0
        view.backgroundColor = UIColor(hexString: "#F2F2F2")
        view.setShadowElevation(ShadowElevation(rawValue: 6), for: .selected)
        view.setShadowColor(UIColor.black, for: .highlighted)
        view.addSubview(self.userNameTF)//here I call userNameTF}
}

мой вопрос, как позвонить userNameTF внутри contentView?

1 Ответ

0 голосов
/ 27 сентября 2018

Я изменил некоторую часть вашего кода, и он работает.Я просто изменил ваш пользовательский вид на UIView:

class LoginController: UIViewController {
    var userNameTF: UITextField = {
        let uName = UITextField()
        uName.translatesAutoresizingMaskIntoConstraints = false
        uName.textAlignment = .right
        uName.placeholder = "userName"
        uName.textColor = .gray
        uName.returnKeyType = .done
        return uName
    }()

    private var contentView: UIView  {
        let view = UIView()
        view.translatesAutoresizingMaskIntoConstraints = false
        view.backgroundColor = .red
        view.addSubview(self.userNameTF)
        return view
    }
}
...