UINavigationControllerをUIModalPresentationFormSheetで表示している時にポップ時やresignFirstResponder
を明示的に呼んでもキーボードが閉じない場合の対処法です。
バグではなく仕様のようです。
対処法
UINavigationControllerで
- (BOOL)disablesAutomaticKeyboardDismissal
をオーバーライドしNOを返せばポップ時やresignFirstResponder
でキーボードを閉じることができます。
UIViewControlelrで宣言されているので(カテゴリで宣言されていないので)UINavigationControllerのカテゴリでオーバーライドしても問題はないです。
個別で対応が必要な場合はサブクラスで対応すればよいかと思います。
UINavigationController+KeyboardDismiss
@implementation UINavigationController(KeyboardDismiss)
- (BOOL)disablesAutomaticKeyboardDismissal
{
return NO;
}
@end
参考