在弹出解雇后,KeyBoard被锁定

时间:2015-07-08 11:03:25

标签: ios uipopovercontroller iphone-keypad

在viewcontroller中有多个文本字段,其中一些是自定义的(一个点击那些文本字段将启动一个弹出控制器,从该用户可以选择将在tapped文本字段中显示的选项)。

我在视图控制器上有一个用于取消键盘的轻击手势(如果它在屏幕上)。

当我在贴上自定义文本字段时打开弹出控制器时,

键盘被锁定(如果可见)。即使我点击父视图或键盘上的关闭按钮,键盘也不会被解雇。

我已经尝试过这2个片段来隐藏键盘,但它无法正常工作

[self.scrollView endEditing:YES];
[[[UIApplication sharedApplication] keyWindow] endEditing:YES];

1 个答案:

答案 0 :(得分:0)

您可以使用textfields delegate来阻止它呈现键盘,而是通过实现此textFieldShouldBeginEditing方法自行呈现popover

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    if(textField == myCustomTextField) {
        [self openCustomPopover];
        return NO;
    }
    return YES;
}

更多关于其委托方法https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextFieldDelegate_Protocol/index.html#//apple_ref/occ/intfm/UITextFieldDelegate/textFieldShouldBeginEditing