Jaki jest najlepszy sposób na przywrócenie pozycji przewijania w dokumencie HTML po obróceniu ekranu? (To jest w interfejsie UIWebView w Cocoa Touch, ale myślę, że jest to problem wszędzie.) Domyślne zachowanie wydaje się przywracać przesunięcie y w pikselach, ale ponieważ tekst został ponownie przepełniony, teraz jest to inna pozycja w dokumencie.HTML/Javascript: Napraw pozycję przewijania po obróceniu ekranu
Moją pierwszą myślą jest:
- pieprz dokumentu z niewidzialnych, unikalnie-id'ed elementów.
- Przed obróceniem wyszukaj element e, którego offset y jest najbliższy przesunięciu przewijania.
- Po obróceniu, zaktualizuj przesunięcie przewijania do nowego Y-offset e.
Nawet jeśli to zadziała, wolałbym nie wrzucać do dokumentu pęknięcia. Czy istnieje lepszy sposób?
Oto schemat wyjaśniający problem. Przywrócenie oryginalnego przesunięcia y nie daje zamierzonego wyniku, ponieważ więcej tekstu pasuje do linii w trybie poziomym.
Dodałem obrazek, aby wyjaśnić problem. Przywrócenie oryginalnego przesunięcia y nie daje zamierzonego wyniku, ponieważ więcej tekstu pasuje do linii w trybie poziomym. – kvance