How to show keyboard after used inputView

2019-03-28 19:32发布

问题:

I used inputView to show uipickerview for my textfield, but I use same textfield for other functions. How can I show standard keyboard after I used inputView for that textfield?

textfield.inputView = pickrView;

回答1:

Just

textfield.inputView = nil;

worked for me



回答2:

As Pavel Kaljunen said, you need only to set the inputView to nil, but when the keyboard is already visible, you have to resignFirstResponder first, set the inputView to nil and then becomeFirstResponder again.

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.35];

[yourTextField resignFirstResponder];
yourTextField.inputView = nil;
[yourTextField becomeFirstResponder];

[UIView commitAnimations];


回答3:

i think this code maybe can work

 [textField.inputView addTarget:self action:@selector(doTest) forControlEvents:UIControlEventTouchUpInside];

- (void)doTest
{
  if([textFiled isFirstResponder])
  {
    [textFiled resignFirstResponder];
  }
  else
  {
    [textFiled becomeFirstResponder];
  }
}