何がしたい
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