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

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

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

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

Q&A

解決済

1回答

454閲覧

emails、password、usernameが入力された状態のみ、新規登録のボタンのalpha値を1にし、押下可能状態にする

Tommy2020

総合スコア18

Xcode

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

0グッド

0クリップ

投稿2020/08/03 14:08

xcodeで新規登録の画面を作成しています。(参考画像①)

行いたいこと:emails、password、usernameが入力された状態のみ、新規登録のボタンのalpha値を1にし押下可能状態にする

行ったこと:以下のようにextentionで、新規登録クラスに機能を付随させた。

問題点:3つの項目を入力すると、新規登録ボタンのalpha値は1になるものの、押下できない。

extenion

1extension NewRegisterViewController: UITextFieldDelegate{ 2 3 func textFieldDidChangeSelection(_ textField: UITextField) { 4 5 let emailText = emailTextField.text 6 let passwordText = passwordTextField.text 7 let userNametext = usernameTextField.text 8 9 if emailText!.isEmpty || passwordText!.isEmpty || userNametext!.isEmpty { 10 registerButton.isEnabled = false 11 12 }else{ 13 registerButton.alpha = 1 14 registerButton.isEnabled = true 15 } 16 } 17}

viewdidLoad

1passwordTextField.delegate = self 2emailTextField.delegate = self 3usernameTextField.delegate = self 4registerButton.layer.cornerRadius = 20 5registerButton.alpha = 0.6

参考画像①
イメージ説明

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

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

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

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

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

tsuki01

2020/08/03 15:06

質問者様のコードを試したら正常動作したので、以下の点を確認させてください。 「押下できない = ボタンのメソッドが呼ばれない」という認識でしょうか? それとも、押下しようとしても反応しない(ハイライトにもならない)のでしょうか。 また、背景にImageView(?)がありますが、ImageViewにボタンがaddSubviewされていたりしますでしょうか? もしImageViewにaddSubviewされている状態だと、「"ImageViewの変数".isUserInteractionEnabled = true」を設定しないとボタンが反応しない場合があります。 ※特にaddSubviewされていなかったら、ImageViewのくだりはスルーしてください。
Tommy2020

2020/08/03 22:22

tsuki様 ご回答ありがとうございます。 正常作動しましたか! >「押下できない = ボタンのメソッドが呼ばれない」という認識でしょうか? > それとも、押下しようとしても反応しない(ハイライトにもならない)のでしょうか。 →両方です。 addSubviewはしてないです。 う〜ん、なぜでしょう・・
tsuki01

2020/08/04 04:14 編集

挙動的には以下に近い気がするのですが、Storyboard側の設定やコード全文見てみないと判断難しいかもですね。。 ・昨日記載したImageViewの関係(isUserInteractionEnabledプロパティ) <=addSubviewしてないのでないはず ・ボタンの上に見えないViewがのってしまっている 念の為確認ですが、「UITextField3つに入力ないとボタンを押せなくする」という処理がなかった場合は(ただボタンを置いていた状態だと)、ボタンは押せていましたでしょうか。
Tommy2020

2020/08/04 11:22

tsuki様 一回、storyBoardから、新規登録ボタンを消して、再作成したら、正常作動しました! outletか、何かのつなぎ方が間違っていたのでしょうか。 原因ははっきりしませんが、結果オーライです! ありがとうございました!
tsuki01

2020/08/04 11:29

ご報告ありがとうございます。 期待した動作になったということで良かったです。 お手数ですが、自己解決ということで質問クローズの方、お願いいたします。
guest

回答1

0

自己解決

一回、storyBoardから、新規登録ボタンを消して、再作成

投稿2020/08/04 12:15

Tommy2020

総合スコア18

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問