【发布时间】:2018-01-11 11:01:00
【问题描述】:
我的 iOS 应用中有一个登录屏幕,有以下两种方式可以进入这个登录页面:
- 从欢迎屏幕
- 用户在注册屏幕中完成注册过程后。
登录屏幕中有两个文本字段(电子邮件和密码)和一个按钮。如果用户来自欢迎屏幕,我希望该按钮仅在用户手动填写所有文本字段后启用。在这种情况下我没有问题。我用这行代码
extension LoginlVC : UITextFieldDelegate {
@objc func editingChanged(_ textField: UITextField) {
// to make signUpButton enable when all text field is filled out
if textField.text?.count == 1 {
if textField.text?.first == " " {
textField.text = ""
return
}
}
guard
let email = emailTextField.text, !email.isEmpty,
let password = passwordTextField.text, !password.isEmpty
else {
loginButton.alpha = 0.4
loginButton.isEnabled = false
return
}
loginButton.alpha = 1
loginButton.isEnabled = true
}
}
但是如果用户在完成注册过程后来自注册屏幕,我使用prepare for segue 将电子邮件和密码字符串从注册屏幕发送到登录屏幕,因此登录屏幕中的文本字段将自动填充在注册过程之后。
我希望登录屏幕中的按钮已启用,但不幸的是,它没有发生。
那么在收到prepare for segue 的值后,如何在登录屏幕上启用我的按钮?
【问题讨论】:
-
你试过我的答案了吗?
-
是的,谢谢。已经接受了你的回答