Почему я не могу нажать на элементы ввода после изменения размера прокрутки? - PullRequest
0 голосов
/ 28 июня 2010

У меня есть пример проекта, который использует метрики из уведомлений для изменения размера клавиатуры, когда текстовое поле находится в фокусе.

http://www.smallsharptools.com/downloads/ObjC/KeyboardSize.zip

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

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

Что я могу сделать, чтобы входные элементы в UIScrollView оставались доступными при изменении высоты?

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

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

1 Ответ

0 голосов
/ 29 июня 2010

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

//self.subView.autoresizingMask = (UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...