Sull'iPad, presento una vista nel lato "dettagli" di un controller di visualizzazione divisa che è fondamentalmente solo un UIWebView
, che carica un file HTML nel pacchetto dell'applicazione. L'applicazione supporta la rotazione e nasconde/mostra il lato "master" della suddivisione in modo appropriato.Rotazione UIWebView su iPad
Quando lo UIWebView
viene inizialmente caricato in modalità orizzontale, il suo contenuto sembra essere "dimensionato" correttamente ... il contenuto è più alto dello schermo, quindi è possibile scorrere verticalmente, ma non orizzontalmente. (Il contenuto HTML è quasi tutto in stile testo con CSS, con solo una piccola immagine ~ 300x50 in fondo.)
Se si ruota lo schermo in verticale, il contenuto HTML sembra ancora ridimensionato - barra di scorrimento verticale è presente, ma non orizzontale, come era inizialmente. Rotazione di nuovo al paesaggio e tutto è ancora peachy.
Finora, tutto bene.
Ora, se lo UIWebView
inizialmente viene caricato con orientamento verticale, anche tutto viene "dimensionato" correttamente (barra di scorrimento verticale, senza orizzontale). Ma se lo si ruota in orizzontale, il contenuto ottiene improvvisamente una barra di scorrimento orizzontale, perché uno dei paragrafi di testo è più largo della larghezza di UIWebView. (Non a caso, ne sono sicuro, ma che a lungo paragrafo è di dimensioni perfettamente per la larghezza leggermente più grande del UIWebView
ha quando è orientato come ritratto.)
mi aspettavo/ipotizzando che la rotazione del iPad causerebbe il UIWebView
a avere ridimensionato il frame e ridimensionarlo in modo appropriato quando viene ridimensionato. (Pensa di prendere una finestra del browser Web e ridurla.) Perché non sta succedendo per me?
Vorrei evitare di utilizzare la proprietà "Adatta le pagine alle dimensioni" perché il testo si restringe in modo non deterministico.
sono imbattuto in questo esatto lo stesso problema, l'altro giorno, succede solo quando l'applicazione viene avviata inizialmente in l'orientamento orizzontale e quindi ruotato in modalità verticale, se lanciato in modalità verticale viene ridimensionato correttamente quando ruotato in vista orizzontale. Nel mio caso è uno show-stopper perché il mio contenuto è una mappa (CloudMade) senza barre di scorrimento mostrate e una buona parte della mappa finisce per essere fuori dallo schermo e il centro della mappa quando viene spostato su un nuovo Lat/Lng è ovviamente fuori centro. Spero che ci sia qualche soluzione! – EagleOfToledo
@EagleOfToledo La vista del contenuto è anche un 'UIWebView'? –
Sì, ma nel mio caso UIWebView occupa l'intero schermo (senza SplitView/DetailView). – EagleOfToledo