Na iPadzie prezentuję widok po stronie "szczegółowej" kontrolera widoku podzielonego, który jest w zasadzie po prostu plikiem UIWebView
, który ładuje plik HTML w pakiecie aplikacji. Aplikacja obsługuje obrót i ukrywa/pokazuje "master" stronę podziału, stosownie do potrzeb.Obrót UIWebView na iPadzie
Po początkowym załadowaniu UIWebView
w trybie poziomym jego zawartość wydaje się być "prawidłowo zwymiarowana" ... zawartość jest wyższa niż na ekranie, więc można przewijać w pionie, ale nie w poziomie. (Treść HTML jest prawie całkowicie napisana w stylu CSS, a na dole tylko mały obraz o wymiarach 300x50).
Jeśli następnie obrócisz ekran do pionu, treść HTML będzie nadal wyglądać dobrze - pionowy pasek przewijania jest obecny, ale nie poziomy, jak to było na początku. Wracając do krajobrazu i wszystko jest nadal brzoskwiniowe.
Jak dotąd, tak dobrze.
Teraz, jeśli UIWebView
ładuje się początkowo w orientacji pionowej, wszystko jest również "prawidłowo dobrane" (pionowy pasek przewijania, bez poziomych). Jeśli jednak obrócisz go w pionowy, zawartość nagle uzyska poziomy pasek przewijania, ponieważ jeden z akapitów tekstu jest szerszy niż szerokość interfejsu UIWebView. (Nie jest przypadkiem, jestem pewien, ale to długi ustęp wielkości doskonale dla nieco większej szerokości UIWebView
ma kiedy jest zorientowany jak portret.)
Spodziewałem/zakładając, że obracanie iPada spowodowałoby UIWebView
do Zmieniaj rozmiar jego ramki, a gdy jest ona zmieniana, zmień odpowiednio jej zawartość HTML. (Pomyśl o wybraniu okna przeglądarki i zmniejszeniu go.) Dlaczego tak się nie dzieje?
Chciałbym uniknąć stosowania właściwości "Dopasuj strony do dopasowania", ponieważ tekst kurczy się niedeterministycznie.
Natknąłem się na to dokładnie w tym samym numerze na drugi dzień, to się dzieje tylko wtedy, gdy aplikacja jest uruchomiona początkowo w orientacja pozioma, a następnie obrócona w tryb pionowy, po uruchomieniu w trybie portretowym ponownie zmienia rozmiar poprawnie, gdy zostanie obrócony do widoku poziomego. W moim przypadku jest to show-stopper, ponieważ moja zawartość to mapa (CloudMade) bez widocznych pasków przewijania, a znaczna część mapy kończy się poza ekranem, a środek mapy, gdy jest przesuwany do nowego LAT/Lng jest oczywiście poza centrum. Mam nadzieję, że jest jakiś obejście! – EagleOfToledo
@EagleOfToledo Czy Twój widok treści to również "UIWebView"? –
Tak, ale w moim przypadku UIWebView zajmuje cały ekran (brak SplitView/DetailView). – EagleOfToledo