iPadでresignFirstResponderが機能しない
iPadでUIModalPresentationFormSheetを使ってModal Viewを表示した場合、UITextFiledのタップでキーボードを表示したあと、textFieldShouldReturn:でresignFirstResponderを行ってもキーボードが消えないという現象があります。
続けて入力を行う可能性を考慮し、ひとつのコントロールがresignFirstResponderしてもいちいちキーボードを隠さないという仕様だそうです。
それでも直ぐにキーボードを消したい場合はUIViewControllerに次のようなコードを追加します。
- (BOOL)disablesAutomaticKeyboardDismissal {
return NO;
}
iPadでは画面構成によってはUIViewControllerがいくつも登場するため、どれにしかければ有効なのか悩まされました。
Modal Viewの場合はそれを表示するUINavigationControllerをサブクラス化し、それに上記メソッドを実装すると解決します。
参照:resignFirstResponder
Don't work?
0 件のコメント:
コメントを投稿