在iPad上运行iPhone应用程序(iOS 7),scalesPageToFit无法正常工作。

5

在iPad上运行iOS 7的iPhone应用程序时,scalesPageToFit属性无法正常工作。

我在WebView加载请求之前将scalesPageToFit = YES设置为了正确的值。

页面加载后,检查HTML文档宽度为769px,而UIWebView的滚动视图框架宽度为320。尽管您希望其为0.41(320/769),但滚动视图的zoomScale为1。有什么想法吗?

2个回答

4
问题现在已在iOS 7.0.3中修复。但是,如果您无法升级,请继续阅读。
这似乎是iOS7的缺陷。简而言之,当您在iOS7 iPad或iPad Mini上运行使用iOS7 SDK编译的仅限iPhone应用程序时,问题会发生。一个临时的解决方法是缩放Web视图的滚动视图。这使得文本看起来比您想要的小,但到目前为止,这是我见过的最好的解决方案。
- (void)webViewDidFinishLoad:(UIWebView *)webView {
    CGSize contentSize = webView.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;
    }
}

小于0.9?这背后的逻辑是什么? - Remover
基本上,代码避免了在当前缩放系数为0.9或更高时进行任何缩放。如果您想要的话,也可以使用比例<1.0。所有这些都没有意义,因为缺陷现在已经在iOS7.0.3中得到了修复。 - RajV

2
我们有一个iOS应用和一个Web应用程序,它们都存在相同的集成问题。我们在Web应用程序中通过强制使用320 CSS解决了这个问题。我认为这是iOS7的一个错误,并期望能够修复它。
同样的问题:https://twitter.com/lukew/status/380702676121825280

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接