<分区>
如何让用户只能在他/她完成操作后才能访问 View ?例如,仅当用户在 Swift 3 for IOS 开发中正确回答了先前 View 中的问题时才访问 View
<分区>
如何让用户只能在他/她完成操作后才能访问 View ?例如,仅当用户在 Swift 3 for IOS 开发中正确回答了先前 View 中的问题时才访问 View
最佳答案
这是一个非常广泛的问题,但是诗人版本的物理学是您想要添加某种目标操作方法来监控您的 textField
。问题一得到回答,用户就可以继续了。
一种方法是设置一个“下一步”按钮,该按钮最初会被禁用,并在问题得到正确回答后启用。
在 FirstViewController
中,您可以将 IBOutlet
连接到 nextButton
和 textField
,如下所示:
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var nextButton: UIButton!
您还可以按住 control 并拖动一个 segue 到 SecondViewController
然后,在 viewDidLoad
中,您可以先禁用该按钮:
nextButton.isEnabled = false
当按钮被禁用时,你不能继续。启用后,您可以通过按它来继续。
然后,你可以得到一个 method you create to monitor your textField
正确答案:
// this is the method that monitors your textField
func textFieldDidChange(textField: UITextField) {
if textField.text != "42" {
nextButton.isEnabled = false
}
else {
nextButton.isEnabled = true
}
}
在 viewDidLoad
中,您将在禁用 nextButton
之后添加目标操作。这是 viewDidLoad
的样子:
override func viewDidLoad() {
super.viewDidLoad()
// this sets the button to disabled...
nextButton.isEnabled = false
// this monitors the textField for the correct answer
textField.addTarget(self, action: #selector(textFieldDidChange(textField:)), for: .editingChanged)
}
关于ios - 使用户仅在完成操作 IOS Swift 3 后才访问 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43244899/