Devo aggiungere UIWebView
e alcuni pulsanti ed etichette all'interno di UIScrollView
. Ho visto molte domande su come aggiungere UIWebView
all'interno di UIScrollView
ma sfortunatamente non sono stati in grado di aiutarmi a completare il mio compito. Quindi gentilmente non contrassegnarlo come duplicato o qualcosa del genere.UIWebView Inside UIScrollView Dimensioni del contenuto
Teoricamente, il problema può essere risolto seguenti fasi:
1) Fai UIWebView
una visualizzazione secondaria di UIScrollView
.
2) Chiama setScrollEnabled:NO
per UIWebView
per disabilitare lo scorrimento nativo.
3) Impostare la dimensione del contenuto di UIScrollView
e UIWebView
in base alla dimensione della stringa HTML caricata all'interno di UIWebview
.
Sto utilizzando iOS 6 e StoryBoards. Ho aggiunto UIWebView
come subview di UIScrollView
.
Poi nel mio webViewDidFinishLoad
, ho usato il seguente:
NSString *webHeight = [webView stringByEvaluatingJavaScriptFromString:@"document.height;"];
NSLog(@"WebView Height %@", webHeight);
Questo mi dà l'altezza della WebView.
Su StackOverFlow, ho trovato quanto segue.
CGRect frame = webView.frame;
frame.size.height = 1;
webView.frame = frame;
CGSize fittingSize = [webView sizeThatFits:CGSizeZero];
frame.size = fittingSize;
webView.frame = frame;
NSLog(@"size: %f, %f", fittingSize.width, fittingSize.height);
Poi ho impostato la dimensione del UISCrollView
alle dimensioni UIWebView
:
mainScrollView.contentSize = webView.bounds.size;
posso scorrere verso il basso fino in fondo, ma c'è uno spazio bianco in basso e UIWebView
non sta facendo il suo dimensione in base alla dimensione del contenuto HTML caricato.
Sembra UIScrollView
ha cambiato dimensione alla dimensione del contenuto di UIWebView
ma UIWebView
non mostra tutto. Come posso risolvere questo problema?
Gentilmente non mi consiglio la documentazione Apple che dice che non si dovrebbe usare UIWebView
all'interno di UIScrollView
. Lo so già, ma voglio usarlo come richiesto dal mio progetto.
Ho lo stesso problema di Jessica e utilizzo AutoLayout. Mi aiuti con i cambiamenti di altezza dell'altezza. Aiuta a risolvere questo problema. Non è necessario disabilitare AutoLayout. –