无法在 iOS 的 UIWebView 中滚动

Posted

技术标签:

【中文标题】无法在 iOS 的 UIWebView 中滚动【英文标题】:Cannot scroll in UIWebView in iOS 【发布时间】:2012-06-08 05:04:20 【问题描述】:

我以编程方式创建了一个 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];

提前致谢!

【问题讨论】:

嗯,如果您将内容设置为缩放和适合(例如“UIViewContentModeScaleAspectFit”),整个页面不会适合屏幕而不滚动吗? @MichaelDautermann ..我尝试禁用“UIViewContentModeScaleAspectFit”,但我仍然无法滚动。 webView 只是弹跳 @skokal01 这意味着所有内容都在屏幕上可见,因此没有什么可以滚动到 @Otium...我保证有很多内容。顺便说一句,我更改了代码以从界面生成器创建 UIWebView,现在我可以完美地滚动了。我想知道我的代码中遗漏了什么。 【参考方案1】:

要启用滚动,

webview.scrollView.scrollEnabled = TRUE;

而不是写这个,

webView.contentMode = UIViewContentModeScaleAspectFit;

写这个,

webview.scalesPageToFit = TRUE;

【讨论】:

@krunal...它没有用。现在我的 html 页面缩小到屏幕的 1/4 大小,我什至无法放大 :( 请看截图UIWebView Screenshot 您的网页视图大小不合适.. chk 那应该是webview.frame=CGRectMake(0, 0, 770, 960); 试试这个,webview.frame=CGRectMake(0, 0, 100, 100); 并删除这一行 webview.scalesPageToFit = TRUE; & 然后告诉我会发生什么.. 我认为你的意思是不是真的。这是目标c! :)【参考方案2】:

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

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

【讨论】:

【参考方案3】:

这些是可能的解决方案。

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

【讨论】:

以上是关于无法在 iOS 的 UIWebView 中滚动的主要内容,如果未能解决你的问题,请参考以下文章

在IOS中,如何知道UIWebView滚动条是不是在顶部?

我仍然无法让我的 UI 滚动视图滚动! iOS

以编程方式在iOS上滚动UIWebView

如何使用 uiscrollview 滚动 uiwebview

iOS 邮件消息视图,如 UIWebView

iPad上的iOS UIWebView窗口宽度和高度