テキストが入力されたらSaveボタンを有効にする方法(Swift)
現在オリジナルアプリのスケジュール機能を実装するために、基礎としてメモアプリを作成しています
※この記事ではセーブボタンの配置などについては触れません
完成形
空欄だとSaveボタンが無効になり
目次
Saveボタンを無効にする方法
まずは、Saveボタンを無効にします
記述する場所はoverride func viewDidLoad()
の部分です
override func viewDidLoad()
の部分にself.saveButton.isEnabled = false
を追記します
override func viewDidLoad() {
super.viewDidLoad()
self.saveButton.isEnabled = false
}
saveButton
に対してisEnabled
で、ボタンを有効か無効にすることができます、なので今回はfalse
にして無効にします
テキストフィールドに入力された値を検出する
このままではセーブボタンが無効のままなのでテキストフィールドに入力された場合、ボタンを有効にします
そのために、テキストフィールドに入力された値を検出する方法を解説します。
まず、Main.Storyboardにあるテキストフィールド
をコントロールキーを押しながらドラックアンドドロップをし、紐付けます。
override func viewDidLoad() {
super.viewDidLoad()
self.saveButton.isEnabled = false
}
_____________________
//↑にドラックアンドドロップ
ドラックアンドドロップをすると下のようなものが出てきます
それぞれ
Connection(接続タイプ)をAction
Name(プロパティ名)をmemoTextFieldChanged
Event(イベント)をEditing Changed
にします。
次に先ほど入力したmemoTextFieldChangedメソッドの処理を記述します
1 override func viewDidLoad() {
2 super.viewDidLoad()
3 self.saveButton.isEnabled = false
4 }
5 @IBAction func memoTextFieldChanged(_ sender: Any) {
6 let memo = self.memoTextField.text ?? ""
7 self.saveButton.isEnabled = !memo.isEmpty
8 }
繰り返しになりますが、7行目のisEnabled
がボタンを有効、無効にします。
6行目では、テキストフィールドがnil(空)か判断します。
7行目のisEmpty
でテキストフィールドがnilの時はfalse
nilではない時はtrue
と判別しsaveButton
を有効にできます。
※memoの横に!がないとtrue、falseが逆になってしまいます。
Author And Source
この問題について(テキストが入力されたらSaveボタンを有効にする方法(Swift)), 我々は、より多くの情報をここで見つけました https://qiita.com/programming_00/items/ddc6b09f5e76af1da30b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .