当scrollview userInteraction禁用时,pickerview隐藏

时间:2018-10-16 10:49:04

标签: ios objective-c xcode

我的功能是在单击textField时打开选择器。我的文本框在滚动视图中,如下图所示。

enter image description here

我想在选择器打开时禁用滚动视图的用户交互。以下是我的代码。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{

    [self.picker removeFromSuperview];
    [self.toolBar removeFromSuperview];
    textField.inputView = self.picker;
    textField.inputAccessoryView = self.toolBar;
    self.scrollview.userInterationEnabled = NO;
    return YES;
}

当我评论userInteractionEnabled代码时。选择器完美打开。但是当我取消注释时,代码选择器没有打开。

我也延迟了这段代码。所以在dalay之后,我的选择器又被隐藏了。

2 个答案:

答案 0 :(得分:1)

这里的问题是userInteractionEnabled从scrollView插入到textField。而且据解释here

如果我刚刚发现UITextField的userInteractionEnabled属性为NO,则它也将拒绝成为第一响应者。在必须接受第一响应者状态之前,我必须在文本字段上明确重新启用用户交互。

它不能显示textField的inputView。

您应确保您的textField userInteracationEnables为true或将pickerView移到textField.inputView之外。

答案 1 :(得分:0)

您可以使用this cool可自定义的控件将选择器用作文本字段上的inputView。

或者this one,如果您想在选择器打开时禁用与背景视图的交互。