UIWebView rotation auf dem iPad
Auf dem iPad, ich einen Blick in den "detail" - Seite einer split-view-controller, das ist im Grunde nur ein UIWebView
, der lädt eine HTML-Datei in das Programm-bundle. Die Anwendung unterstützt die rotation und versteckt/zeigt die "master" - Seite der split als angemessen.
Wenn die UIWebView
wird zunächst geladen, im landscape-Modus, dessen Inhalt scheint zu sein, "Größe" richtig... der Inhalt ist größer als der Bildschirm, so dass Sie können einen Bildlauf vertikal, aber nicht horizontal. (Der HTML-Inhalt ist fast alle text formatiert mit CSS, nur mit einer kleinen ~300 x 50 Bild unten.)
Wenn Sie dann drehen Sie den Bildschirm, um portrait -, HTML-Inhalt, scheint immer noch zu bemessen ist okay -- vertikale Bildlaufleiste vorhanden ist, aber nicht horizontal, wie es anfangs war. Drehen Sie zurück auf die Landschaft und alles ist noch frisch.
So weit, So gut.
Nun, wenn die UIWebView
zunächst lädt im hochformat ist alles auch "große" richtig (Scrollbalken, keine horizontalen). Aber, wenn Sie drehen Sie es ins Querformat, der Inhalt plötzlich einen horizontalen Scrollbalken, weil einer der Absätze, der text ist breiter als die Breite der UIWebView. (Nicht zufällig ist, bin ich mir sicher, aber das lange paragraph Größe ist perfekt für die etwas größere Breite der UIWebView
hat, wenn es von seiner Ausrichtung als hochformat.)
Ich hatte erwartet/vorausgesetzt, dass die Drehung des iPad würde dazu führen, die UIWebView
seinen frame in der Größe verändert werden, und wenn es in der Größe angepasst, um die Größe Ihrer HTML-Inhalt angemessen. (Denken Sie an die Einnahme einer Web-browser-Fenster und schrumpft es.) Warum ist das nicht passiert für mich?
Ich möchte vermeiden, mit den "Skalen-Seiten Passen" - Eigenschaft, da der text schrumpft nicht-deterministisch.
- Kam in genau dem gleichen Problem den anderen Tag, es geschieht nur, wenn die app gestartet wird zunächst in das Querformat und dann gedreht wird in den portrait-Modus gestartet, wenn im portrait-Modus re-Größen richtig beim drehen in den landscape-Ansicht. In meinem Fall ist es ein show-stopper, weil mein Inhalt ist eine Karte (CloudMade) mit keine scroll-Balken angezeigt, und ein gutes Stück von der Karte endet als off-screen und in der Mitte der Karte, wenn es geschwenkt wird, um eine neue Lat/Lng, ist offensichtlich off-center. Hoffe, es gibt einige workaround!
- Ist Ihre Inhalte anzuzeigen auch eine
UIWebView
? - Ja, aber in meinem Fall das UIWebView ist unter den ganzen Bildschirm (keine SplitView/Detailansicht).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur mein Problem gelöst mit Sie dies, indem Sie diese HTML5-Viewport-meta-tag:
den head-Bereich meiner HTML -, vielleicht eine variation dieses meta-tag kann helfen?
Obwohl mein Problem ausgelöst wurde, wenn meine app gestartet wurde im landscape-Modus, während Ihnen im portrait-Modus, es kann eine gemeinsame Ursache.
Hatte ich auch ein anderes komisches Problem mit dem webView in iPad und die gemeinsame Lösung scheint zu sein, dass meta-tag:
iPad Simulator WebView/Google Maps-API-Problem
content="initial-scale=1.0"
ist, sollte es eher harmlos. Danke!Es ist auch möglich, sich mit dieser, indem Sie
[myWebView reload];
in der shouldAutorotateToInterfaceOrientation Methode
-- aber, wenn Sie über eine 3G-Verbindung kann dies langsam