Swift在视图之间传递数据

时间:2017-07-10 03:57:06

标签: ios swift uitextfield

我有一个注册页面,要求用户输入:用户名,密码,电子邮件,全名。单击注册按钮后,信息将发送到我的数据库enter image description here

我想要做的是在一个视图控制器中显示用户名文本字段,在输入该信息后,用户名已准备好输入其全名,他们可以点击同一视图控制器上的下一个按钮,它将转到具有全名文本字段的不同视图控制器,依此类推。我想知道如何在不丢失先前视图控制器值的情况下移动视图控制器。在最终视图控制器中,用户将单击注册

我的注册按钮代码是:

selected is udefined

1 个答案:

答案 0 :(得分:2)

请参阅最后回复的更新(我必须在提问者的评论后添加):

如果您使用UITextField作为所有字段,如用户名,密码等。

推荐的方法是检查名为

的UITextFieldDelegate方法
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        if textField == usernameField {
            fullNameField.becomeFirstResponder()
        } else  if textField == fullNameField {
            emailField.becomeFirstResponder()
        } else if textField == emailField {
            passwordField.becomeFirstResponder()
        } else {
            textField.resignFirstResponder()
        }
        usernameField.becomeFirstResponder()
        return true
    }

要解决下一个问题,您可以将键盘的返回键更改为下一个

enter image description here

关于您的问题的一些建议:

  

如何设置它以使每个文本域都有自己的视图?例如,当用户键入用户名时,他们可以单击下一步,它将转到显示全名文本字段的下一个视图,而不会丢失用户名文本字段的值?

  1. 为每个textField制作视图会产生糟糕的用户体验,以及为什么要增加冗余代码。

  2. 尝试创建最小Boilerplate code

  3. 以下是一些顶级开发人员提到的优秀设计网站:

    1. pttrns : Login
    2. lovely ui : Login
    3. Inspired UI : Login
    4. 根据提问者的评论答案:

      首先,保存/保留UserDefaults中输入的上一个输入值。因此,当用户导航回“上一个”屏幕时,您可以从UserDefaults检索该值。