はじめに
UITextField と UIButton を連動させて、テキストが入力されている時だけボタンを押せるようにする方法です。
ソースコード
ソースコードを見るのが早いと思うので、ソースコードを抜粋
ボタンとテキスト
@IBOutlet weak var someText: UITextView!
@IBOutlet weak var execButton: UIButton!
Delegateの指定
override func viewDidLoad() {
super.viewDidLoad()
someText.delegate = self
}
EditingChangedイベント
@IBAction func someTextEditingChanged(_ sender: Any) {
if someText.text?.count == 0 {
execButton.isEnabled = false
} else {
execButton.isEnabled = true
}
}
Editing Changed イベントでテキストの文字数を判定しボタンの Enable を設定する。
参考
UITextField関連で役立ちそうなリンクです。
【バリデーション 】TextFieldが未入力の場合はボタンを押させない
[初心者向け]UITextFieldDelegate
UITextFieldのイベント種類
UITextFieldを使用する時に必要なあれこれ