如何使UIWebView中的页面适合WebView

时间:2014-10-28 05:52:15

标签: ios objective-c ipad

我正在尝试在iPad中UIWebView显示一个页面。

它适用于任何浏览器中的浏览器,但在UIWebView中它不适合垂直。

它也在iPhone完美展示。

请帮忙。

编辑:

- (void)webViewDidFinishLoad: (UIWebView *)webView {
    if (webView == myWebView) {
        [loadingView setHidden:YES];

        CGSize contentSize = myWebView.scrollView.contentSize;
        CGSize viewSize = self.view.bounds.size;

        float scale = viewSize.width / contentSize.width;
        if (scale < 0.9) {
            NSLog(@"Zoom out fix for web view: %f", scale);

            webView.scrollView.minimumZoomScale = scale;
            webView.scrollView.maximumZoomScale = scale;
            webView.scrollView.zoomScale = scale;
        }
    }
}

此外还尝试了各种组合。

myWebView.contentMode = UIViewContentModeScaleAspectFill | UIViewContentModeScaleAspectFit;
myWebView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
myWebView.scalesPageToFit = YES;
myWebView.autoresizesSubviews = YES;

5 个答案:

答案 0 :(得分:2)

我不知道webView.xib是如何加载的,这里是example加载webView.xib并设置其约束:顶层空间到超级视图,前导空间到超级视图和居中超级视图,它工作正常。

答案 1 :(得分:2)

我发现了这一点,我不确定你是否已经尝试过,但是如果你找不到任何解决办法的话,也许值得一试。

- (void)webViewDidFinishLoad:(UIWebView *)webView方法apple documentation here!

中执行此操作

然后,尝试使用javascript ...(你可以改变缩放值)顺便说一句,只有正数值..

NSString *jsCommand = [NSString stringWithFormat:@"document.body.style.zoom = 1.5;"];
[myWebView stringByEvaluatingJavaScriptFromString:jsCommand];

唯一的问题是,它会在页面加载后发生但是,你仍然只能在加载后显示页面。

我希望它有所帮助!

答案 2 :(得分:1)

该声明将使您的工作完成。

webView.scalesPageToFit = YES;

这应该调整网页的大小以适应UIWebView的大小,然后用户可以选择放大和缩小页面。

答案 3 :(得分:1)

试用此代码:

注意:网站必须responsive site才能符合您的预期。

  • 将<{1}}代表添加到您 .h 文件UIWebViewDelegate

<强>代码:

@interface YourViewController : UIViewController<UIWebViewDelegate>

答案 4 :(得分:1)

在Apple文档中,它说this

你可能做错了什么......尝试在webview中设置内容旁边的所有不必要的代码进行注释以本地化问题。

尝试将您的webview设为属性,检查代表是否被调用,检查您是否以正确的方式填写webview等。

尝试发表评论:

   CGSize contentSize = myWebView.scrollView.contentSize;
    CGSize viewSize = self.view.bounds.size;

    float scale = viewSize.width / contentSize.width;
    if (scale < 0.9) {
        NSLog(@"Zoom out fix for web view: %f", scale);

        webView.scrollView.minimumZoomScale = scale;
        webView.scrollView.maximumZoomScale = scale;
        webView.scrollView.zoomScale = scale;
    }

以及找到问题所在的任何其他内容。这就是解决问题的方法。

希望它有所帮助:D