Xamarin.iOSでソフトウェアキーボードを隠す
2020年12月23日 (水) 03:07時点におけるAdministrator (トーク | 投稿記録)による版 (Administrator がページ「Xamarin.iOS/ソフトウェアキーボードを隠す」を「Xamarin.iOSでソフトウェアキーボードを隠す」に移動しました)
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/