Sev*_*rin 1 ios segue swift swift3
我有以下方法:
@IBAction func postcodeTextfieldDidChanged(_ sender: UITextField) {
if (postcodeTextField.text?.characters.count == 4) {
self.postcode = postcodeTextField.text
postcodeHas4Chars = true
} else {
postcodeHas4Chars = false
}
}
Run Code Online (Sandbox Code Playgroud)
而准备方法:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "CoffeeShopListWithPostcode" {
if (postcodeHas4Chars == true) {
if let list = segue.destination as? CoffeeShopListVC {
list.postcode = postcode
} else {
print("Data NOT Passed!")
}
}
} else { print("Id doesnt match with Storyboard segue Id")
}
}
Run Code Online (Sandbox Code Playgroud)
代码工作,我可以将邮政编码发送到下一个ViewController,但是如何更改代码以在第四次输入后自动调用该方法?此时,用户必须手动退出输入才能执行.
每次文本字段的文本更改时,请检查文本是否为4个字符.如果是,请致电performSegue(withIdentifier, sender:).简单:
@IBAction func postcodeTextfieldDidChanged(_ sender: UITextField) {
if (postcodeTextField.text?.characters.count == 4) {
self.postcode = postcodeTextField.text
postcodeHas4Chars = true
performSegue(withIdentifier: "CoffeeShopListWithPostcode", sender: self)
} else {
postcodeHas4Chars = false
}
}
Run Code Online (Sandbox Code Playgroud)
另外,请记住您连接到editingChanged事件而不是valueChanged event.
| 归档时间: |
|
| 查看次数: |
838 次 |
| 最近记录: |