質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Q&A

解決済

2回答

266閲覧

Xcodeで「E-Mail」と「Password」が入力されている場合のみ、「サインイン」ボタンが押せる,alpha=1にしたい!

Tommy2020

総合スコア18

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

0グッド

0クリップ

投稿2020/08/03 11:43

xcodeで以下のようなサインインの画面を作成しています。
「E-Mail」と「Password」が入力されている場合のみ、「サインイン」ボタンが押せる,alpha=1にしたいのですが、どうもうまく行きません。
解決策を教えてください!

viewdidLoad

1 SignInButton.isEnabled = false 2 SignInButton.alpha = 0.6

extention

1extension SignInViewController: UITextFieldDelegate{ 2 3 func textFieldDidChangeSelection(_ textField: UITextField) { 4 5 let emailIsEmpty = EmailTextField.text?.isEmpty ?? false 6 let passwordIsEmpty = PasswordTextField.text?.isEmpty ?? false 7 8 if !emailIsEmpty && !passwordIsEmpty { 9 SignInButton.isEnabled = true 10 SignInButton.alpha = 1 11 12 }else{ 13 SignInButton.isEnabled = false 14 } 15 } 16}

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

EmailTextField, PasswordTextField 両方の delegate を設定していないのではないでしょうか。

Swift

1 EmailTextField.delegate = self

のような感じで適切に設定してみたら、そのままの実装で動くかと思います。

ところで、パーツ名などに使っている変数(プロパティ)は小文字から始めるのが Swift の流儀となっています。

大文字から始めると、それがクラス名だと勘違いを起こす可能性が高いので、流儀にはしたがって方が良いかと思います。

また、タグ名は Xcode だけでなく、Swift なども追加するようにお願いします。

Xcodeはあくまでも統合開発環境(IDE)の名称に過ぎないため、Swiftに関係する質問だと気づかれない可能性が高くなります。

投稿2020/08/03 12:00

TsukubaDepot

総合スコア5086

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tommy2020

2020/08/03 12:02

ちょうど自己解決と同時タイミングでした! まさにおっしゃる通りでした。 デリゲートってややこしいですね笑
TsukubaDepot

2020/08/03 12:04

extensionのところで UITextFieldDelegate を宣言しているので、これが気づくための一つのきっかけになるかと思います(delegate プロトコルに準拠させたらすぐに delegate の設定をする、など)。
guest

0

自己解決

⭐️⭐️自己解決できました! ⭐️⭐️

解決策:viewdidLoadにdelegate=self を追加!

PasswordTextField.delegate = self EmailTextField.delegate = self

投稿2020/08/03 12:00

Tommy2020

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問