Изменить contentInset UITableView без изменения его contentOffset?

Я хочу создать пользовательский интерфейс, похожий на приложение Apple Messages на iPhone. У меня есть табличное представление и текстовое поле под ним. Когда я выбираю текстовое поле, я анимирую contentInset табличного представления, когда клавиатура сдвигается вверх, чтобы содержимое отображалось над клавиатурой.

У меня есть код, который использует распознаватель жестов панорамирования, чтобы определить, когда пользователь прокручивает таблицу вниз, и анимировать клавиатуру вниз, как это происходит (, если вы видите приложение Apple Messages, оно имеет ту же функциональность, чтобы закрыть клавиатуру. Вы прокручиваете таблицу вниз, и когда ваш палец скользит мимо текстового поля, клавиатура опускается вместе с ним ).

Это отлично работает,но если табличное представление прокручивается вверх, и я начинаю изменять его вставку содержимого, когда клавиатура скользит вниз, табличное представление прокручивается за верх, а затем возвращается к началу, вызывая странную прерывистую анимацию. Я полагаю, это связано с тем, что изменение contentInset сбрасывает contentOffset в верхнюю часть табличного представления, если табличное представление прокручивается за верхнюю часть, и это делает его странным.

Кто-нибудь знает, как изменить contentInset представления прокрутки, не меняя его contentOffset?

6
задан Anshu Chimala 17 July 2012 в 04:38
поделиться