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).
InformationsquelleAutor Shaggy Frog | 2010-09-02
Schreibe einen Kommentar