Сохранять ли выровненную панель инструментов iPhone видимой при первой смене респондента

Я использую метод, описанный Джошем вэтот вопрос добавить панель инструментов в верхней части клавиатуры iPhone. По сути, идея заключается в следующем:

Add the view controller as an observer for the notifications UIKeyboardWillShowNotification and UIKeyboardWillHideNotification in its initialization method Whenever those notifications are posted, animate a toolbar onto/off of the screen along with the keyboard

У меня также есть несколько полей UITextField на экране, все из которых становятся первым респондентом, когда он выбран для редактирования, и оставляют первый респондент, когда редактирование завершено (либо пользователь касается другого текстового поля, либо выключает любое текстовое поле, либо нажимает «Готово» на клавиатура - у меня естьtextFieldShouldReturn: переопределеноresignFirstResponder).

У меня, однако, есть проблема, поскольку уведомления публикуются каждый раз, когда я переключаюсь между текстовыми полями. Например, если пользователь редактирует текстовое поле A, затем заканчивает его и нажимает на текстовое поле B, A уходит в отставку первым респондентом, а B становится первым респондентом. Тем не менее, в этом сообщении также отображается сообщение "покажет" и & quot; будет скрывать & quot; Уведомления для моего просмотра контроллера.

Конечным результатом всего этого является то, что хотя панель инструментов появляется с клавиатурой для первого текстового поля и исчезает вместе с клавиатурой для последнего текстового поля, она, как представляется, скользит в клавиатуру и обратно, когда пользователь переключается между текстом. поля.

Есть ли способ ответить только на "Будет {показывать, скрывать}" & quot; уведомления, если клавиатураactually собираешься показать или спрятать? Другими словами, как я могу игнорировать уведомления, которые не приведут к изменению видимого состояния клавиатуры?

Ответы на вопрос(2)

Ваш ответ на вопрос