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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

Q&A

解決済

2回答

2675閲覧

[Objective-C]ログイン画面でキーボード入力後に、キーボードのReturnボタンでそのままログインしたい。

Satochan24

総合スコア113

Objective-C

Objective-Cはオブジェクト指向型のプログラミング言語のひとつです。C言語をベースにSmalltalkが取り入れられています。

0グッド

0クリップ

投稿2015/06/18 02:33

Objective-CでiPhoneアプリ作っていて、ほぼ完成形に近いのですが、
最初のログイン画面で、ログインするときに認証ボタンをつけて、そこでログインしています。
しかし、iPhoneを使っていると、Webサイトで、キーボードのRetunボタンでログイン可能なサイトがあると思います。どのようにすれば可能になるのでしょうか?
さらに言えば、IDとパスワード入力で、キーボード画面の矢印で、次の入力項目に遷移できたら便利だと思っています。
Webや本で調べましたが、キーボードの種類や、画面タッチでキーボードOFF、returnボタンの表示をGOに変えるなどは載っていましたが、なかなか見つからない状況です。
知っている方がいれば教えてください。
よろしくお願いします。

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

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

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

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

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

guest

回答2

0

http://iphone-tora.sakura.ne.jp/uitextfield.html

デリゲートを継承して、リターンボタン押されたメッセージを処理するとできます。

投稿2015/06/18 03:47

MasaakiIrie

総合スコア1021

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

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

Satochan24

2015/06/18 06:28

回答、有難うございます。 -(BOOL)textFieldShouldReturn: (UITextField*)textField を使えばいいのかなぁと思いますが、 ログインボタンのアクション接続 -(IBAction)button_Login:(id)sender{処理} を呼びたい場合はどのようにすればよいでしょうか? また、次のテキストフィールドに移動する矢印のようなボタン?は可能でしょうか?
MasaakiIrie

2015/06/18 07:04

-(IBAction)button_Login:(id)sender{ [self func]; } -(void) func{ } -(BOOL)textFieldShouldReturn: (UITextField*)textField{ [self func]; } てことですか? フォーカス移動ならタップで良いかと思いますけど?
Satochan24

2015/06/18 07:31

コメント、ありがとうございました。 button_Loginをアクション接続で、次の画面に移動するセグエでつなげているので、ボタンを押したというアクション自体がないとうまくいきませんでした。 何か解決策があればお願いします。 フォーカス移動は < > のようなボタンがキーボードの左上に表示され、結構便利な気がしていましたが、ブラウザの機能かもしれないですね。
MasaakiIrie

2015/06/18 11:53

内容がいまいち見えませんが・・・ -(BOOL)textFieldShouldReturn: (UITextField*)textField{ [self button_Login:nil]; } でよいてことですか??
Satochan24

2015/06/19 05:21

コメント有難うございました。 それだと、button_Loginがvoidのメソッドなので、 「Control reaches end of non-void function」と表示されてしまいました。。。
guest

0

ベストアンサー

ボタンでログイン認証しつつ、セグウェイを使って画面遷移するには、
まず、ボタンのアクションをTouchUpInsideで繋いで、

次にStoryboard上の黄色のViewControllerのアイコンを画面遷移したいViewVControllerまで引っ張っていくと、ボタンからセグウェイをつなぐのと同じような画面が出て、showとかを選ぶとセグウェイがつながると思います。

Storyboardエディタの右上の左から4つ目にIdentifierというテキストボックスがあると思います。

そこに例えば「Login」とした場合、コード上では以下にようにすると画面遷移できます。

lang

1 2- (IBAction)button_Login:(id)sender 3{ 4 [self login]; 5} 6 7- (void)login 8{ 9 // ログイン処理 10 11 // ログイン成功後、次の画面へ遷移する 12 [self performSegueWithIdentifier:@"Login" sender:self]; 13} 14

投稿2015/06/18 12:02

okenProg

総合スコア153

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

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

Satochan24

2015/06/22 06:12

回答ありがとうございます。試してみてからまたコメントします。
Satochan24

2015/06/23 09:53

試してみました。 結局、loginのメソッドがvoidタイプなのに、キーボードのリターンキーを押したときのデリゲートメソッッド - (BOOL)textFieldShouldReturn:(UITextField *)textField が戻り値BOOLなので、そこでエラーになってしまいます。loginメソッドでBOOL値を返すメソッドに修正すれば良いのでしょうか?
okenProg

2015/06/23 10:06

textFeildShouldReturnは、リターンが押された時にキーボードを閉じるかどうかのBOOL値を返すデリゲートメソッドです。 リターンが押された際に、すぐにキーボードを閉じたいのであれば、return YES;とすればよいでしょう。 もし、ログイン処理の結果によってキーボードを閉じるか決定したいのであれば、loginメソッドがログイン結果を返すようにし、それをreturnするといいです。
Satochan24

2015/06/23 10:13

コメント有難うございます。 つまり、このデリゲートメソッドは、キーボード画面のリターンキー押したときにログインする処理には使えないということですね。
okenProg

2015/06/23 10:19

いや、使えますよ。 [self login]; return YES;
okenProg

2015/06/23 10:26

誤った回答をしていました。 キーボードを閉じるには [textField resignFirstResponder]; とする必要がありました。 キーボードを閉じない時でも基本的にYESを返します。
Satochan24

2015/06/23 10:32

キーボードは閉じるようになりましたが、ログインはダメでした。 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [self button_Login]; [_editText_Passwd resignFirstResponder]; return YES; }
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問