Был баг. Заходим на экран - там куча полей (форма обратной связи). Начинаем по стрелкам в тулбаре переключаться на следующее поле, потом на следующее, и тд. До конца доходим. Затем идем в обратную сторону. Пару раз переход к предыдущему полю работает.
Но подскроллы работают таким образом, что со временем контент таблицы устаканивается так, что ячейка с активным полем ввода находится четко сверху. Пытаемся переключиться на предыдущее - и не работает. Что не удивительно, так как ячейки предыдущего поля ввода на экране нет -> система не знает что делать. Но при этом она понимает, что firstResponder-ом стало другое поле. И если смахнуть экран (форма обратной связи - смахиваемая модалка) - то клавиатура останется висеть) и переход к следующему полю ввода кажется перестанет работать, но это уже точно не помню
Вот такие пироги. Как я вижу решение:
сначала вот эта вот фича, что в ПРе. Фактически - мы не даем переключиться на поле ввода, если оно не находится в данный момент на экране. Чтобы клавиатура не оставалась в таких кейсах висеть
а потом уже поправить подскроллы, чтобы в целом избежать таких кейсов
Рассказываю причины произошедшего.
Был баг. Заходим на экран - там куча полей (форма обратной связи). Начинаем по стрелкам в тулбаре переключаться на следующее поле, потом на следующее, и тд. До конца доходим. Затем идем в обратную сторону. Пару раз переход к предыдущему полю работает.
Но подскроллы работают таким образом, что со временем контент таблицы устаканивается так, что ячейка с активным полем ввода находится четко сверху. Пытаемся переключиться на предыдущее - и не работает. Что не удивительно, так как ячейки предыдущего поля ввода на экране нет -> система не знает что делать. Но при этом она понимает, что firstResponder-ом стало другое поле. И если смахнуть экран (форма обратной связи - смахиваемая модалка) - то клавиатура останется висеть) и переход к следующему полю ввода кажется перестанет работать, но это уже точно не помню
Вот такие пироги. Как я вижу решение:
На проекте протестил, вроде робит