2012-06-04 16 views
13

creé una vista web mediante programación y no soy capaz de activar el desplazamiento en esta vista.No se desplaza en UIWebView en IOS

¿Cómo activo el desplazamiento?

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]; 

Thanks In Advance!

+0

Ummm, si usted tiene el contenido establecido para escalar y ajuste (por ejemplo, "' UIViewContentModeScaleAspectFit'"), serían no toda la página de ajuste en la pantalla y no desplazarse? –

+0

@ MichaelDautermann ... Intenté desactivar "UIViewContentModeScaleAspectFit", pero todavía no puedo desplazarme. webView simplemente rebota – Santhosh

+0

@ skokal01, lo que significa que todo el contenido está visible en la pantalla, por lo que no hay nada para desplazarse a – Otium

Respuesta

23

Para activar el desplazamiento,

webview.scrollView.scrollEnabled = TRUE; 

y en vez de escribir esto,

webView.contentMode = UIViewContentModeScaleAspectFit; 

escribir esto,

webview.scalesPageToFit = TRUE; 
+0

@krunal ... No funcionó. Ahora mi página HTML se redujo a 1 tamaño/cuarto de la pantalla y ni siquiera puede hacer un zoom :( – Santhosh

+0

Por favor, vea la captura de pantalla en [UIWebView Captura de pantalla] (http://i.imgur.com/EGQYx.png) – Santhosh

+1

tamaño de su vista web no es correcta .. chk que, debería ser 'webview.frame = CGRectMake (0, 0, 770, 960);. – Krunal

0

Extracción de Interface Builder y añadiendo a través de código hizo por mí . Por alguna razón, en IB no se desplazó.

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

Estas son las posibles soluciones.

i) Usted puede ser vista web de tamaño grande de lo que esperaba o su contenido es menor que el tamaño vista web.

2) Implementar el siguiente método.

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 
} 
Cuestiones relacionadas