如何在Swift 3中用户触摸时从UITextField中删除文本?
问题描述:
我有一个UITextField包含文本:“用户名”。一旦用户选择了文本字段进行编辑,我想删除用户名。如何在Swift 3中用户触摸时从UITextField中删除文本?
有比使用选择器方法更好的方法吗?
这是我目前使用的方法,但它似乎并没有工作。
usernameTextField.addTarget(self, action: #selector(selectedUsernameField), for: .editingChanged)
func selectedUsernameField(sender: UITextField){
print("selectedUsernameField")
usernameTextField.text = ""
}
答
我这种情况下,你应该设置占位符为usernameTextField
。
usernameTextField.placeholder = "UserName"
它会消失,因为用户将开始输入这就是你想要的。
答
您可以使用此功能:
func textFieldDidBeginEditing(_ textField: UITextField) {
if textField == usernameTextField{
textField.text = ""
}
}
当文本字段开始编辑它被调用。
虽然使用它,你需要让你的类UITextFieldDelegate
,并说:
usernameTextField.delegate = self
在
viewDidLoad
。
这就是'UITextField占位符'的用途。 – rmaddy