Я немного опоздал на вечеринку, но я нашел довольно изящный обходной путь, который решает эту проблему только с помощью манипуляций css. В моем случае я не мог изменить размер шрифта по причинам дизайна, а также не мог отключить масштабирование.
Поскольку iPhone будет немного увеличивать поля формы, если размер текста меньше 16 пикселей, мы можем обмануть iPhone, чтобы он подумал, что размер шрифта составляет 16 пикселей, а затем преобразовать его в наш размер.
Например, давайте возьмем пример, когда наш текст имеет размер 14 пикселей, поэтому он увеличивается, потому что он меньше 16 пикселей. Следовательно, мы можем преобразовать масштаб согласно 0,875.
В следующем примере я добавил отступ, чтобы показать, как соответствующим образом преобразовать другие свойства.
.no-zoom {
font-size: 16px;
transform-origin: top left;
transform: scale(0.875);
padding: 4.57px;
}
Я надеюсь, что это помогает!