iPad在UIModalPresentationForm模式弹出modal view情况下,textField调用如下代码
[textField resignFirstResponder];
无法dismiss掉键盘。
解决方法如下(仅针对4.3以上固件):
1. 对没有NavigationController的View Controller:
在视图控制器中,加入如下代码。
- (BOOL)disablesAutomaticKeyboardDismissal {
return NO;
}
来看看上述方法在UIViewController中的Comment就明白了:
// Presentation modes may keep the keyboard visible when not required. Default implementation affects UIModalPresentationFormSheet visibility.
- (BOOL)disablesAutomaticKeyboardDismissal NS_AVAILABLE_IOS(4_3);
2. 对有NavigationController的View Controller:
可以对UINavigationController增加如下Category:
@interface UINavigationController (iPadKeyboardDismissal)
- (BOOL)disablesAutomaticKeyboardDismissal;
@end
@implementation UINavigationController
- (BOOL)disablesAutomaticKeyboardDismissal {
return NO;
}
@end