2017-05-27 77 views
1

我有一个UITextField包含文本:“用户名”。一旦用户选择了文本字段进行编辑,我想删除用户名。如何在Swift 3中用户触摸时从UITextField中删除文本?

有比使用选择器方法更好的方法吗?

这是我目前使用的方法,但它似乎并没有工作。

usernameTextField.addTarget(self, action: #selector(selectedUsernameField), for: .editingChanged) 

func selectedUsernameField(sender: UITextField){ 
     print("selectedUsernameField") 
     usernameTextField.text = "" 
    } 
+2

这就是'UITextField占位符'的用途。 – rmaddy

回答

2

我这种情况下,你应该设置占位符为usernameTextField

usernameTextField.placeholder = "UserName" 

它会消失,因为用户将开始输入这就是你想要的。

1

您可以使用此功能:

func textFieldDidBeginEditing(_ textField: UITextField) { 
    if textField == usernameTextField{ 
     textField.text = "" 
    } 
} 

当文本字段开始编辑它被调用。

虽然使用它,你需要让你的类UITextFieldDelegate

,并说:

usernameTextField.delegate = self 
viewDidLoad