〜キーボードをシュッとねPart2〜
前回のあらすじ
すっかり意気込んで『なんちゃって電卓アプリ』の開発をはじめたものの、キーボードの閉じかたがわからず困った凛子。僕は凛子にハリセンでしばかれつつキーボードを閉じる方法を模索する。そこに理沙がやってきて、僕の主人公としての立場が……。
前回が気になるあなたはアプリガール 〜キーボードをシュッとねPart1〜【創作の本棚】を見てくださいね。
本編
「今回は、キーボードを閉じる方法を紹介するわよ」
「よっ、待ってました。理沙屋!」
「まずは、ここにUITextFieldDelegateと書くの。<と>の記号で囲むのを忘れないでね。あ、そうそう。このコードはObjective-Cだからね。Swiftでの書きかたを知りたいあなたはちょっとまってね」
「理沙、いまだれとしゃべっとったん?」
「気にしないで♡」
「まあええか。ほんで、このUITextFieldDelegateゆうのはなんや?」
「今回のしくみはね、delegate(デリゲート)というのを使うの。delegateについて説明すると長くなっちゃうからまたべつの機会にゆずるとして。ごくごく簡単にいうと、このViewController(ビューコントローラー)という画面さんとテキストフィールドさんがキーボードを閉じるお仕事を役割分担しようという感じなの」
「なんで役割分担するん?」
「それはね、テキストフィールドさんがキーボードを監視する役割だからなの。だから、テキストフィールドさんはじっとキーボードを見てて、いざリターンキーを押されたら画面さんに連絡する係になるの」
「ほんなら、画面さんはキーボードを閉じる係になるんやな!」
「そうそう、さすが凛子ちゃん!」
「へへっ、なんたってうちはアプリガールやからな」
記憶喪失のアプリガールだけどね! 僕はこのままでは出番がないかもしれないという危機感から、むりやり心のなかでツッコミをいれる。僕のそんな気持ちは(当然のごとく)スルーされて、理沙と凛子の会話はつづいていく。
「それでね、UITextFieldDelegateはテキストフィールドさんからの連絡を受けられるように、画面さんが自己紹介をしているのよ」
「ほうほう」
「つぎに、viewDidLoadにinputTextField.delegate = self;って書くの。これはね、画面さんがテキストフィールドさんに居場所を伝えているのよ」
「『ワイはここにおるからいつでも呼んでやー』っちゅう感じやな」
「そんな感じ!」
「-(BOOL)textFieldShouldReturn:(UITextField *)textField{}は、テキストフィールドさんが画面さんに『リターンキー押されましたよー。あとはよろしくねー』と言っているの」
「ちゅうことは、最後のこれ
[textField resignFirstResponder];
return YES;
は、画面さんが『よっしゃー、まかせてや! ほんならキーボード閉じるでー』とキーボードを閉じているんやな。せやろ?」
「大正解! やっぱり凛子ちゃんは理解がはやいよね」
ああ、やっぱり僕の出番はまったくなかった。いや、アプリ開発はまだまだつづくんだから、これで終わりじゃない……はず。
『オレたちの冒険ははじまったばかりだ!』
と、今回もむりやりモノローグをはさんでみたけど、やっぱりむなしくなってしまった。
あ、そうそう。Swift版のコードを知りたいあなたは、こっち↓を見てくださいね。
テキストフィールドにテキスト入力後、Returnでキーボードを隠す方法 [Swift1.2][UITextField] – MILLEN BOX
それでは、また。
晴れた日も、曇った日も、素敵な一日をあなたに。
参考文献&アプリ
【関連する記事】
アプリガール 〜Segue編Part1〜【創作の本棚】 | はれときどきくもりZ
新しいぱぱんだっこでパパも健康になろう! iOS8のヘルスケアアプリに対応しました。 | はれときどきくもりZ
肉めないニクLINEスタンプをリリースしました! | はれときどきくもりZ
Written with MyEditor.
本を出版しました!