Я задавал вопрос или два за последние несколько дней работы над приложением, которое поддерживает настраиваемую панель инструментов в верхней части клавиатуры iPhone. Я использую метод, описанный Джошем в этом вопросе ; в основном, у меня есть контроллер вида, который прослушивает UIKeyboardWillShowNotification и добавляет панель инструментов по мере необходимости.
Контроллер представления сам управляет табличным представлением, ячейки которого содержат UITextField. Представленная клавиатура и панель инструментов редактируют эти текстовые поля. Единственная проблема, с которой я до сих пор сталкиваюсь, заключается в следующем: когда клавиатура и панель инструментов представлены для ячейки более чем на полпути вниз по таблице, она прокручивается, чтобы быть видимой над клавиатурой, но не выше панели инструментов .
Ячейки и текстовые поля по-прежнему доступны для редактирования, но около половины ячейки скрыто под панелью инструментов. Если я исчезну с панели инструментов (не добавляю ее в автоответчик), вся ячейка станет видимой, но, очевидно, я потеряю функциональность, которую обеспечивает панель инструментов.
Есть ли способ изменить местоположение, к которому прокручивается текстовое поле? Я попытался поиграть с методом UITableView scrollToRowAtIndexPath:atScrollPosition:animated:
, но он имеет тенденцию давать странные результаты при переключении между несколькими ячейками.
Каков наилучший способ прокрутки ячейки табличного представления в видимом положении над пользовательской панелью инструментов клавиатуры?