如何在用户正确回答后清除文本字段?
问题描述:
我正在创建一个允许用户键入答案的应用程序。如何在用户输入答案后让文本消失?错误或正确我希望文字消失。如何在用户正确回答后清除文本字段?
func textFieldDidChange(textField:UITextField)
{
if inputField?.text?.characters.count ?? 0 < 4
{
return
}
if let numbers_text = numbersLabel?.text,
let input_text = inputField?.text,
let numbers = Int(numbers_text),
let input = Int(input_text)
{
print("Comparing: \(input_text) minus \(numbers_text) == \(input - numbers)")
if(input - numbers == 1111)
{
print("Correct!")
score += 1
showHUDWithAnswer(isRight: true)
}
else
{
print("Incorrect!")
score -= 1
showHUDWithAnswer(isRight: false)
}
}
setRandomNumberLabel()
updateScoreLabel()
答
Just ... make textField hidden?
inputField.resignFirstResponder()
inputField.text = ""
inputField.isHidden = true
答
you can use textfield delegates to check what text is typed
e.g. in viewDidload() {
textfield.delegate = self
}
then extend UIViewController with UITextFieldDelegate and use this
function of delegate to compare text of textfield with your answer
func textField(_ textField: UITextField, shouldChangeCharactersIn
range: NSRange, replacementString string: String) -> Bool {
if textField.text == YOUR_ANSWER {
textField.text = nil
print(textField.text ?? "")
}
return true
}
也许尝试的TextField.text = “” – koropok
可以设置yourtextField.text = “” 当用户提交了他答。 – luckyShubhra