我的注册控制器不会显示电子邮件文本字段。

时间:2018-05-21 20:41:25

标签: swift uitextfield

我一直在尝试以编程方式创建两个单独的视图控制器,我在其中登录,并注册视图控制器。我的初始视图控制器,登录允许我看到电子邮件/密码文本字段,我的注册控制器没有。我已经插入了正确的信息,但是当我运行我的应用程序时,它是空白的。我将在下面发布我的代码,任何人都可以帮我解决这个问题吗?

   let emailTextField: UITextField = {
        let e = UITextField()

        let attributedPlaceholder = NSAttributedString(string: "Email", attributes:
            [NSAttributedStringKey.foregroundColor : UIColor.white])

        e.textColor = .white
        e.attributedPlaceholder = attributedPlaceholder
        e.setBottomBorder(backGroundColor: GREEN_Theme, borderColor: .white)


        return e
    }()

    let passwordTextField: UITextField = {
        let p = UITextField()

        let attributedPlaceholder = NSAttributedString(string: "Password", attributes: [NSAttributedStringKey.foregroundColor : UIColor.white])
        p.textColor = .white
        p.isSecureTextEntry = true
        p.attributedPlaceholder = attributedPlaceholder
        p.setBottomBorder(backGroundColor: GREEN_Theme, borderColor: .white)

        return p
    }()

  override func viewDidLoad (){
    super.viewDidLoad()
    view.backgroundColor = GREEN_Theme

    func setupFileComponents() {

            setupEmailField()
            setupPasswordField()
        }
    func setupEmailField() {
            view.addSubview(emailTextField)

            emailTextField.anchors(top: nil, topPad: 0, bottom: nil, bottomPad: 0, left: view.leftAnchor, leftPad: 24, right: view.rightAnchor, rightPad: 24, height: 30, width: 0)
            emailTextField.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
        }

    func setupPasswordField() {
            view.addSubview(passwordTextField)

            passwordTextField.anchors(top: emailTextField.bottomAnchor, topPad: 8, bottom: nil, bottomPad: 0, left: emailTextField.leftAnchor, leftPad: 0, right: emailTextField.rightAnchor, rightPad: 0, height: 30, width: 0)


        }

提前谢谢你。

1 个答案:

答案 0 :(得分:0)

您应该将setupFileComponents,setupEmailField,setupPasswordField移出viewDidLoad,然后您必须在viewDidLoad中添加te调用:

override func viewDidLoad (){
    super.viewDidLoad()
    view.backgroundColor = GREEN_Theme
    setupFileComponents()
    setupEmailField()
    setupPasswordField()
}