Я столкнулся с той же проблемой.Ваш (и мой первоначальный) подход, вероятно, не работает, поскольку текстовое поле в inputAccessoryView
отказывается стать первым респондентом, поскольку UITextField
изначально не находится на вашем экране.
Мое решение: проверьтепоявится клавиатура (и вместе с этим вспомогательное представление)!
Шаг 1) Прослушайте уведомление (убедитесь, что этот код выполняется, прежде чем вы хотите получить уведомление).
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(changeFirstResponder)
name:UIKeyboardDidShowNotification
object:nil];
Шаг 2) Когда клавиатура появилась, вы можете установить текстовое поле в inputAccessoryView
, чтобы стать первым респондентом:
-(void)changeFirstResponder
{
[textField becomeFirstResponder]; // will return YES;
}