Как показать клавиатуру после использованного inputView

Я использовал inputView показывать uipickerview для меня textfield, но я использую то же самое textfield для других функций. Как я могу показать стандартную клавиатуру после того, как я использовал inputView для этого textfield?

textfield.inputView = pickrView;

3 ответа

Решение

Просто

textfield.inputView = nil;

работал на меня

Как сказал Павел Кальюнен, вам нужно только установить для inputView значение nil, но когда клавиатура уже видна, вы должны сначала выполнить resignFirstResponder, установить для inputView значение nil, а затем снова стать FirstResponder.

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

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

[UIView commitAnimations];

Я думаю, что этот код может работать

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

- (void)doTest
{
  if([textFiled isFirstResponder])
  {
    [textFiled resignFirstResponder];
  }
  else
  {
    [textFiled becomeFirstResponder];
  }
}
Другие вопросы по тегам