如何在uitextfield中显示pickerview而不是键盘?

Rah*_*yas 9 iphone xcode uipickerview uitextfield

我想显示一个UIPickerView成为UITextfield的FirstResponder而不是键盘,并从选择器视图填充文本字段中的值.

谁知道这个?

maf*_*nya 28

使用[textfield setInputView:pickerView];

替换系统输入视图 inputView inputAccessoryView

  • 对于那些知道自己在做什么的人来说,这是正确的答案. (7认同)

kla*_*ter 25

编辑:在撰写本文时,这个答案是正确的.Apple已经推出了inputView.Mafonya 答案就是你现在应该做的事情.

可以防止键盘弹出.将您的类设置为UITextField的委托:textField.delegate = self<UITextFieldDelegate>在接口声明之后(在头文件中的{之前)添加:.

现在实施textFieldShouldBeginEditing::

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    // Show UIPickerView

    return NO;
}
Run Code Online (Sandbox Code Playgroud)

如果您希望能够隐藏pickerView,则此方法不起作用.那么你可以做的是创建UITextField的子类并覆盖*trackingWithTouch:event:选择器并在那些中做你的魔术.您可能仍需要返回NO textFieldShouldBeginEditting:以防止键盘显示.