У меня есть пример проекта, который использует метрики из уведомлений для изменения размера клавиатуры, когда текстовое поле находится в фокусе.
http://www.smallsharptools.com/downloads/ObjC/KeyboardSize.zip
Все серии текстовых полей оборачиваются внутри UIScrollView, и когда отображается клавиатура, отправляется уведомление со значением высоты. Я использую это, чтобы уменьшить высоту UIScrollView, чтобы весь контент мог прокручиваться внутри, не закрываясь клавиатурой.
Но я обнаружил, что когда я делаю это, другие текстовые поля иногда не могут быть затронуты. Кажется, они покрыты слоем, который я не вижу.
Что я могу сделать, чтобы входные элементы в UIScrollView оставались доступными при изменении высоты?
К вашему сведению: в примере проекта вы видите синий маркер вверху и еще один красный внизу. Контроллер представления, который обрабатывает изменение размера, является CMScrollingViewController, который наследуется в KeyboardSizeViewController, так что это поведение может использоваться несколькими контроллерами представления.
Я надеюсь, что эту проблему можно исправить, чтобы этот простой код можно было повторно использовать.