2017-05-27 11 views
1

"Username"というテキストを保持する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

とは言う:viewDidLoad

usernameTextField.delegate = self 

を。

関連する問題