Trochę spóźniłem się na imprezę, ale znalazłem całkiem zgrabne obejście, które rozwiązuje ten problem tylko z manipulacją CSS. W moim przypadku nie mogłem zmienić rozmiaru czcionki ze względów projektowych, a także nie mogłem wyłączyć powiększania.
Ponieważ iPhone nieznacznie powiększy pola formularza, jeśli tekst jest ustawiony na mniej niż 16 pikseli, możemy oszukać iPhone'a, aby pomyślał, że rozmiar czcionki to 16px, a następnie przekształcić go do naszego rozmiaru.
Na przykład weźmy przykład, gdy nasz tekst ma 14 pikseli, więc powiększa się, ponieważ jest mniejszy niż 16 pikseli. Dlatego możemy przekształcić skalę zgodnie z 0,875.
W poniższym przykładzie dodałem wypełnienie, aby pokazać, jak odpowiednio przekonwertować inne właściwości.
.no-zoom {
font-size: 16px;
transform-origin: top left;
transform: scale(0.875);
padding: 4.57px;
}
Mam nadzieję, że to pomoże!