1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

文字数によるボタンの非活性制御

Posted at

何がしたい

UITextFieldに文字が入力されていない場合、Saveボタンを非活性にします。

実現方法

// saveボタン
@IBOutlet weak var save: UIBarButtonItem!

// UITextFieldが編集されると呼ばれるデリゲートメソッド
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    var textLength: Int;

    // (UITextField の文字数 - カット、ペースト、デリートされた文字数)+ キーボードから入力された文字数
    textLength = ( textField.text!.characters.count - range.length ) + string.characters.count;
    
    // UITextFieldの文字数が0より多い場合、saveボタン活性化
    if (textLength > 0) {
        save.enabled = true
    } else {
        save.enabled = false
    }
    return true
}

所感

例のごとく、もっといいやり方があるのかなと思います。
もしご存知の方いらっしゃったらご指摘くださいませ m(_ _)m

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?