Yuta Watanabe's Blog

開発周りと、その他諸々

Xamarin.iOS ソフトウェアキーボードを隠す

こんにちは。

テキストフィールドに文字入力を始めると、ソフトウェアキーボードが表示されます。このソフトウェアキーボードを隠す方法です。よく使うと思うのでメモします。

やりたいこと

テキストフィールドで何か入力を受け取ります。

f:id:yuwata:20140206015425p:plain

 

テキストフィールドを選択して入力を開始すると、自動的にソフトウェアキーボードが表示されます。

f:id:yuwata:20140206015428p:plain

 

やりたいことは、この入力が終わった後、ソフトウェアキーボードを再び隠すと言うことです ( デフォルトでは表示されたまま )。

f:id:yuwata:20140206015430p:plain

 

 

Xamarin のコードレシピを見てみる

Xamarin の公式サイトでは、たくさんのコードレシピが公開されています。今回のようなちょっとした動作、処理を追加したい場合は、これらのレシピを参照してみると、すぐに実装方法がわかります。

今回の場合、Input カテゴリに Keyboard というレシピを見てみます。

f:id:yuwata:20140206020002p:plain

するとその中に、Dismiss the Keyboard という項目があるので見てみましょう。

簡単な説明とコードを確認でき、サンプルプロジェクトもダウンロード可能です。ResignFirstResponder を呼び出せばいいと分かります。

f:id:yuwata:20140206020407p:plain

 

この例では、Return キーを押したときに、ソフトウェアキーボードを隠しています。

どこかをタップしたら隠す

ちなみに、Return キーを押したときではなく、どこかをタップしたときに隠したい場合は、タッチジェスチャを拾います。そのジェスチャを View に追加する形です。

Xamarin.iOS タップしたらソフトウェアキーボードを隠す

このあとは

Xamarin のコードレシピには、今回のようなちょっとした機能や処理を実装したい!という場合に使えるコード集が公開されています。もし、ちょっと書き方が分からないなというときは、ぜひコードレシピを確認してみてください。