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