iPad键盘无法Dismiss问题解决方法

 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




你可能感兴趣的:(iPad键盘无法Dismiss问题解决方法)