XamarinでUITextViewのキーボードを表示・閉じる方法

XamarinでUITextViewを使用してキーボードの表示と閉じる方法を紹介します。

参考としてはiosに標準で付いているメモ帳を模倣しました。

①起動時の画面

f:id:nooootion:20160606213103p:plain

②右下の新規作成用のツールバーボタンを押すと詳細画面に遷移

画面遷移と同時にキーボードが表示される

f:id:nooootion:20160606213333p:plain

③右上のDoneボタンを押すとキーボードが閉じる

f:id:nooootion:20160606213426p:plain

 

全体構成

f:id:nooootion:20160606214028p:plain

UINavigationControllerを配置して、初期表示画面にUITableViewController、新規メモ作成用のツールバーボタンを押した際の画面遷移先をUIViewController(DetailViewController)として、その上にUITextViewを配置します。

DetailViewControllerのViewDidLoadメソッド内にキーボードの表示・閉じるの処理を書きます。

f:id:nooootion:20160606215052p:plain

画面タッチ等のイベントはUIResponderクラスが管理しており、

UITextViewはこのクラスを継承しているためUIResponderのメンバのBecomeFirstResponder()メソッドやEndEditing()メソッドを呼び出して使用することができます。

 

まとめ

キーボード操作は必須かと思うので、UITextViewもUITextFieldもUIResponderを継承しているため、画面イベント関係で何かしたかったUIResponderを調べてみれば良さそうですね。