前提
TextFieldで1文字以上でボタンを有効にしたいと考えています。
1文字以下の場合は button.isEnabled を false にしたいと思っています。
ですが、textField で textField.text!.count を見ると動きが以下のようになります。
「あいう」と入力した場合
COUNT_ 0
COUNT_ 1
COUNT_ 2
「あいう」をキーボードのバツボタンで消した場合 (3から始まり0に戻りません) 期待値は2→1→0 となります。
COUNT_ 3
COUNT_ 2
COUNT_ 1
TextFieldで1文字以上でボタンを有効にし、
1文字以下の場合は button.isEnabled を false にするにはどうすれば良いでしょうか。
該当のソースコード
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { print("COUNT_",textField.text!.count) button.isEnabled = ((textField.text!.count) == 0) ? false : true return false }
回答1件
あなたの回答
tips
プレビュー