0

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

我在视图控制器上有一个点击手势来关闭键盘(如果它在屏幕上)。

当我在点击自定义文本字段时打开弹出式控制器时,键盘被锁定(如果它是可见的)。即使我点击父视图或键盘中的关闭按钮,键盘也不会被关闭。

我试过这 2 个片段来隐藏键盘,但它不起作用

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

1 回答 1

0

您可以使用 textfields 委托来防止它显示键盘,而是通过实现此 textFieldShouldBeginEditing 方法自己显示弹出框

- (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

于 2015-07-08T11:22:00.293 回答