我有一个注册页面,要求用户输入:用户名,密码,电子邮件,全名。单击注册按钮后,信息将发送到我的数据库
我想要做的是在一个视图控制器中显示用户名文本字段,在输入该信息后,用户名已准备好输入其全名,他们可以点击同一视图控制器上的下一个按钮,它将转到具有全名文本字段的不同视图控制器,依此类推。我想知道如何在不丢失先前视图控制器值的情况下移动视图控制器。在最终视图控制器中,用户将单击注册
我的注册按钮代码是:
selected is udefined
答案 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
}
要解决下一个问题,您可以将键盘的返回键更改为下一个
关于您的问题的一些建议:
如何设置它以使每个文本域都有自己的视图?例如,当用户键入用户名时,他们可以单击下一步,它将转到显示全名文本字段的下一个视图,而不会丢失用户名文本字段的值?
为每个textField制作视图会产生糟糕的用户体验,以及为什么要增加冗余代码。
尝试创建最小Boilerplate code。
以下是一些顶级开发人员提到的优秀设计网站:
根据提问者的评论答案:
首先,保存/保留在UserDefaults
中输入的上一个输入值。因此,当用户导航回“上一个”屏幕时,您可以从UserDefaults
检索该值。