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

提供: MonoBook
ナビゲーションに移動 検索に移動

iOSではソフトウェアキーボードが自動で非表示にならないため、プログラム側で制御してやる必要がある。

フォーカスが外れたら隠す

フォーカスが外れた時点でソフトウェアキーボードを消すには以下の方法で動くようである。

        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            
            // Perform any additional setup after loading the view, typically from a nib.

            this.TextFieldUserName.EditingDidEndOnExit += (sender, e) => {
                this.View.EndEditing(true);
            };
        }

リターンキーが押されたら隠す

Objective-Cでの書き方でググってXamarin.iOSに落とし込むのが早いかなと思っていたが、検索キーワードに「Xamarin.iOS」を付けて直接的にググったところ普通に別の方法が出てきた。実はXamarinの情報も増えてきたんじゃないかと体感している。

Xamarinの公式サイトにあるFAQでは以下の方法を使っている。

        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            
            // Perform any additional setup after loading the view, typically from a nib.

            this.txtDefault.ShouldReturn += (textField) => { 
                textField.ResignFirstResponder();
                return true; 
            };
        }

http://yutawatanabe.hatenablog.com/entry/xamarin-ios-hide-software-keyboard http://docs.xamarin.com/recipes/ios/input/keyboards/dismiss_the_keyboard/

関連項目

参考文献