2012-06-04 20 views
13

Ho creato una visualizzazione Web a livello di codice e non riesco a abilitare lo scorrimento in questa vista.Impossibile scorrere UIWebView in iOS

Come abilitare lo scorrimento?

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0,40, 325, 1000)]; 
    webView.contentMode = UIViewContentModeScaleAspectFit;  
    [webView setBackgroundColor:[UIColor clearColor]]; 
    [webView loadHTMLString:html baseURL:nil]; 
    [self.view insertSubview:webView atIndex:0]; 

Grazie In anticipo!

+0

Ummm, se avete il contenuto impostato in scala e in forma (ad esempio "' UIViewContentModeScaleAspectFit'"), non sarebbe l'intera pagina in forma sullo schermo e non scorrere? –

+0

@ MichaelDautermann..ho provato a disabilitare "UIViewContentModeScaleAspectFit" ma non riesco ancora a scorrere. webView fa semplicemente rimbalzare – Santhosh

+0

@ skokal01 che significa che tutto il contenuto è visibile sullo schermo, quindi non c'è nulla da scorrere su – Otium

risposta

23

Per attivare lo scorrimento,

webview.scrollView.scrollEnabled = TRUE; 

e invece di scrivere questo,

webView.contentMode = UIViewContentModeScaleAspectFit; 

scrittura questo,

webview.scalesPageToFit = TRUE; 
+0

@krunal ... Non ha funzionato. Ora la mia pagina html è ridotta a 1/4 della dimensione dello schermo e non riesco nemmeno a ingrandire :( – Santhosh

+0

Si prega di vedere lo screenshot in [UIWebView Screenshot] (http://i.imgur.com/EGQYx.png) – Santhosh

+1

la dimensione della tua vista web non è corretta .. chk, dovrebbe essere 'webview.frame = CGRectMake (0, 0, 770, 960);' – Krunal

0

Rimozione da Interface Builder e aggiungendo tramite codice ha fatto per me . Per qualche ragione in IB non stava scorrendo.

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 64, 320, 50)]; 
[self.view addSubview: webView]; 
0

Queste sono le possibili soluzioni.

i) La visualizzazione Web potrebbe essere di dimensioni maggiori di quanto previsto o il contenuto è inferiore alla dimensione di Webview.

2) Implementare il seguente metodo.

func webViewDidFinishLoad(webView: UIWebView) 
{ 
    appDelegate.hideLoadingView() 

    let res: NSString = webView.stringByEvaluatingJavaScriptFromString("document.body.offsetHeight;")! 
    let h: CGFloat = CGFloat(res.integerValue) 
    agreementContentView.scrollView.contentSize = CGSizeMake(webView.frame.size.width, h + 50); // Offset if required 
} 
Problemi correlati