web-dev-qa-db-ja.com

iOSのUIWebViewでスクロールできません

プログラムでWebビューを作成しましたが、このビューでスクロールを有効にできません。

スクロールを有効にするにはどうすればよいですか?

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

よろしくお願いします!

13
Santhosh

スクロールを有効にするには、

webview.scrollView.scrollEnabled = TRUE;

そしてこれを書く代わりに、

webView.contentMode = UIViewContentModeScaleAspectFit;

これを書いて、

webview.scalesPageToFit = TRUE;
23
Krunal

Interface Builderから削除し、コードを介して追加することは私にとってはうまくいきました。何らかの理由でIBではスクロールしていませんでした。

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

これらは可能な解決策です。

i)Webビューのサイズが予想よりも大きいか、コンテンツがWebビューのサイズよりも小さい可能性があります。

2)以下の方法を実施します。

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
}
0
YSR fan