У меня есть UIPageViewController. На одной странице есть одна кнопка, а на другой странице есть UITextField с кнопкой. Когда страница прокручивается до представления с полем, я бы хотел, чтобы оно becomeFirstResponder и открывало клавиатуру. Вот что происходит:
Я вызываю метод
viewDidAppear[self.locationQuery becomeFirstResponder]ViewController. Но он никогда не открывает клавиатуру.Я делаю то же самое в
viewWillAppear, и он ненадолго появляется, но затем быстро исчезает.Если я нахожусь на странице с текстовым полем и частично вытягиваю страницу и отпускаю ее (без смены страниц),
self.locationQueryполучает фокус просто отлично.
Похоже, что-то еще захватывает статус firstResponder из поля, но я понятия не имею, что и почему это происходит только при изменении страницы (а не раскрывается после неудачного перелистывания страницы). Есть идеи?
Обновить
Я создал способ обхода представлений, чтобы увидеть, действительно ли какие-либо другие представления принимают firstResponder (из ответа на этот вопрос: Получить текущего первого ответчика без использования частного API). Результаты:
Когда я явно даю первому ответчику текстовое поле, метод сообщает, что он имеет статус первого ответившего.
Когда я этого не делаю, он возвращает
null.
Теперь я еще больше запутался.