Я заметил, что Discourse каким-то образом сумел определить верхнюю границу виртуальной клавиатуры на iOS. Это важно, если нужно разместить элемент прямо над виртуальной клавиатурой, как это поле ввода, в котором я сейчас печатаю.
На устройствах Android с браузером это не является проблемой, так как элементы с позиционированием fixed автоматически сдвигаются вверх до верхней границы визуальной клавиатуры при её появлении.
Я протестировал это же поле ввода на устройстве с iOS 12.1, и, по-видимому, Discourse сумел воспроизвести желаемое поведение даже на неподдерживаемых версиях Safari для iOS.
Не могли бы вы подсказать, в каком направлении двигаться, чтобы добиться аналогичного результата? Буду очень признателен
Представляю, что это гора хаков. Я уже несколько дней ломаю голову над этим вопросом, так что я готов и с удовольствием готов взобраться на эту гору ..
Мне уже пришлось применить отвратительный хак, чтобы предотвратить поднятие верхней фиксированной панели в мобильном Safari при фокусировке на поле ввода. На самом деле, думаю, это будет не намного хуже того, что мне пришлось сделать, чтобы это реализовать
Ужасный хакинг заключался в том, чтобы вырывать элементы из фиксированного положения при фокусе на текстовом поле и скрывать всё на странице. Затем возвращать их обратно при потере фокуса текстовым полем.
Это было очень причудливо. Очень рад, что @pmusaraj представил гораздо более надежную реализацию.
Я быстро посмотрел на ваш обходной путь — похоже, вы выбрали вариант с жестким заданием размеров для всех возможных вариантов клавиатур?
Однако, когда автоподсказка отключается, размер клавиатуры меняется. Как вы справляетесь с этим?
Не знал, что аудитория, использующая iOS 12, настолько мала. Вы уверены, что осталось только 5% пользователей с iOS 12 и ниже? В таком случае, возможно, зря тратить время на решение именно этой проблемы.
Обходное решение работает отлично, когда автоподсказка включена… когда автоподсказка отключена, у нас остаётся пробел… но, как вы уже отметили, количество пользователей, всё ещё застрявших на iOS 12, очень мало… Ещё меньше тех, кто застрял на iOS 12 в сочетании с отключённой автоподсказкой.
Так что ваше исправление — лучшее, что я могу представить. Спасибо за分享!