2012-06-04 7 views
13

Ich habe eine Webansicht programmgesteuert erstellt und kann das Scrollen in dieser Ansicht nicht aktivieren.Ich kann in UIWebView in iOS nicht scrollen

Wie aktiviere ich das Scrollen?

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

Dank im Voraus!

+0

Ähm, wenn Sie den Inhalt skalieren und Passform (zum Beispiel „' UIViewContentModeScaleAspectFit'“) gesetzt ist, würde blättert nicht die ganze Seite fit auf dem Bildschirm und nicht? –

+0

@ MichaelDautermann..Ich habe versucht, "UIViewContentModeScaleAspectFit" zu deaktivieren, aber ich kann immer noch nicht scrollen. webView springt gerade – Santhosh

+0

@ skokal01, das bedeutet, dass der gesamte Inhalt auf dem Bildschirm sichtbar ist, so gibt es nichts zu – Otium

Antwort

23

Scrollen, aktivieren

webview.scrollView.scrollEnabled = TRUE; 

und stattdessen dazu

diese
webView.contentMode = UIViewContentModeScaleAspectFit; 

schreiben zu schreiben,

webview.scalesPageToFit = TRUE; 
+0

@krunal ... Es hat nicht funktioniert. Jetzt ist meine HTML-Seite auf 1/4 der Bildschirmgröße geschrumpft und ich kann nicht mal heranzoomen :( – Santhosh

+0

Bitte sehen Sie den Screenshot unter [UIWebView Screenshot] (http://i.imgur.com/EGQYx.png) – Santhosh

+1

Größe Ihrer Web-Ansicht ist nicht richtig .. chk, dass es sollte 'webview.frame = CGRectMake (0, 0, 770, 960);' – Krunal

0

von Interface Builder entfernen und hinzufügen über den Code für mich getan hat . Aus irgendeinem Grund wurde in IB nicht gescrollt.

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

Dies sind die möglichen Lösungen.

i) Ihre Webansicht ist möglicherweise größer als erwartet oder Ihr Inhalt ist kleiner als die Größe der Webansicht.

2) Implementieren Sie die folgende Methode.

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 
}