UITextFieldが変更されたときに確認するにはどうすればよいですか? 質問する

UITextFieldが変更されたときに確認するにはどうすればよいですか? 質問する

テキスト フィールドが変更されたときにそれをチェックしようとしています。これは textView に使用される関数と同等です。textViewDidChangeこれまでは次のように実行しました。

  func textFieldDidBeginEditing(textField: UITextField) {
        if self.status.text == "" && self.username.text == "" {
            self.topRightButton.enabled = false
        } else {   
            self.topRightButton.enabled = true
        }
    }

どちらが機能しますか? ただし、topRightButtonテキスト フィールドが押されるとすぐに有効になります。テキストが実際に入力されたときにのみ有効にしたいですか?

ベストアンサー1

迅速

スウィフト4.2

textfield.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)), for: .editingChanged)

そして

@objc func textFieldDidChange(_ textField: UITextField) {

}

SWIFT 3 および Swift 4.1

textField.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)), for: .editingChanged)

そして

func textFieldDidChange(_ textField: UITextField) {

}

スイフト2.2

textField.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)), forControlEvents: UIControlEvents.EditingChanged)

そして

func textFieldDidChange(textField: UITextField) {
    //your code
}

目的-C

[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];

そしてtextFieldDidChangeメソッドは

-(void)textFieldDidChange :(UITextField *) textField{
    //your code
}

おすすめ記事