Вкратце ... я могу прокручивать содержимое, однако я не могу прокрутить вверх, чтобы увидеть «все» содержимое scrollView после изменения фрейма представления ViewController (значение Y кадра Origin Y уменьшается, поэтому представление VC перемещается вверх, чтобы разместить клавиатуру ).
На раскадровке ViewController я добавил UIScrollview и кнопку под ним. Представление прокрутки ограничено его родительским (VC) представлением. Я добавляю contentView в scrollview и ограничиваю его прокруткой и добавляю одинаковые ограничения ширины и высоты между представлением содержимого и родительским представлением scrollviews. Затем я добавляю текстовые поля в contentView и ограничиваю их до contentView. Я вычисляю и устанавливаю размер содержимого scrollView, поэтому я могу прокручивать только содержимое, а не весь contentView. Все идет нормально.
Я регистрируюсь для уведомлений с клавиатуры, и на клавиатуре отображается обработчик. Я уменьшаю значение Y источника представления контроллера представления (через setFrame), которое перемещает представление вверх, так что нижняя часть представления оказывается чуть выше клавиатуры. Также в обработчике keyboardWillShow я увеличиваю размер scrollview на вертикальную высоту клавиатуры, поскольку область scrollView уменьшилась на вертикальную высоту клавиатуры.
Я могу прокручивать содержимое, однако смещение содержимого (0,0) находится посередине содержимого, а дополнительный размер содержимого отображается под содержимым текстовых полей. Я больше не могу прокручивать вверх содержимое.
Я знаю, что scrollView прокручивает свое содержимое, изменяя его границы, поэтому я попытался изменить фрейм scrollview (уменьшить его исходное значение Y), а также попытался сделать то же самое для contentview, однако, когда одно из текстовых полей в contentView становится FirstResponder ИЛИ я просто пытаюсь при прокрутке с помощью мыши содержимое прокручивается вниз, и верхняя половина содержимого не видна и не может быть прокручена до (как упомянуто, смещение содержимого составляет (0,0) на полпути вниз по содержимому и является «верхом содержимого».
Кто-нибудь видит какие-либо вопиющие проблемы с моим подходом к продолжению прокрутки всего содержимого с отображаемой клавиатурой и уменьшением значения Y источника ViewController?