将操作分配给 UITextField 并更新 UILabel
Assign action to UITextField and update UILabel
我目前正在使用 Swift 4 并正在努力解决一个可能非常简单但我找不到简单解决方案的问题。我会尽可能详细地解释它。
通过使用文本字段,我想为虚拟键盘上的 Send 按钮分配一个操作以提交输入文本,然后我想清除文本字段。提交文本后,我想检查提交的文本是否等于指定的字符串(例如 "hello, playground")。如果提交的文本等于 "hello, playground" 并且因此是正确的,我想更新一个标签来告诉用户 "Correct"
所以流程是这样的:
文本字段 -> 输入文本 -> 使用虚拟 发送 按钮提交文本 -> 清除文本字段 -> 检查提交的文本是否 = 指定的字符串 -> 如果是,更新标签至 "Correct" -> 如果否,什么都不做 -> 重复直到正确。
我希望它是可以理解的,并提前致谢。
假设:
- 您的文本字段名为
textField
- 您的标签名为
label
您可以在按钮操作函数中检查它,如下所示:
if let text = textField.text {
if text == "Specified Text" {
label.text = "Correct"
}
}
所以如果 textField 的文本等于您指定的文本标签的文本将是 "Correct",否则什么也不会发生。
如果虚拟发送按钮是指键盘的 return 按钮,则需要在 textFieldShouldReturn
委托方法中执行以下操作:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if let text = textField.text {
if text == "Specified text" {
label.text = "Correct"
}
textField.text = ""
}
textField.resignFirstResponder() // this is optional, you might wanna hide keyboard or not
return true
}
我目前正在使用 Swift 4 并正在努力解决一个可能非常简单但我找不到简单解决方案的问题。我会尽可能详细地解释它。
通过使用文本字段,我想为虚拟键盘上的 Send 按钮分配一个操作以提交输入文本,然后我想清除文本字段。提交文本后,我想检查提交的文本是否等于指定的字符串(例如 "hello, playground")。如果提交的文本等于 "hello, playground" 并且因此是正确的,我想更新一个标签来告诉用户 "Correct"
所以流程是这样的:
文本字段 -> 输入文本 -> 使用虚拟 发送 按钮提交文本 -> 清除文本字段 -> 检查提交的文本是否 = 指定的字符串 -> 如果是,更新标签至 "Correct" -> 如果否,什么都不做 -> 重复直到正确。
我希望它是可以理解的,并提前致谢。
假设:
- 您的文本字段名为
textField
- 您的标签名为
label
您可以在按钮操作函数中检查它,如下所示:
if let text = textField.text {
if text == "Specified Text" {
label.text = "Correct"
}
}
所以如果 textField 的文本等于您指定的文本标签的文本将是 "Correct",否则什么也不会发生。
如果虚拟发送按钮是指键盘的 return 按钮,则需要在 textFieldShouldReturn
委托方法中执行以下操作:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if let text = textField.text {
if text == "Specified text" {
label.text = "Correct"
}
textField.text = ""
}
textField.resignFirstResponder() // this is optional, you might wanna hide keyboard or not
return true
}