13

我以编程方式创建了一个 webview,但无法在此视图中启用滚动。

如何启用滚动?

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

提前致谢 !

4

3 回答 3

23

要启用滚动,

webview.scrollView.scrollEnabled = TRUE;

而不是写这个,

webView.contentMode = UIViewContentModeScaleAspectFit;

写这个,

webview.scalesPageToFit = TRUE;
于 2012-06-04T11:53:34.517 回答
0

从 Interface Builder 中删除并通过代码添加对我来说确实如此。出于某种原因,在 IB 中它没有滚动。

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 64, 320, 50)];
[self.view addSubview: webView];
于 2014-09-19T09:37:19.343 回答
0

这些是可能的解决方案。

i) 您的 webview 的大小可能比您预期的要大,或者您的内容小于 webview 的大小。

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
}
于 2015-12-09T07:00:41.233 回答