iPad缩放比例检测

10

我正在尝试寻找一种方法来检测用户在Web应用程序中的缩放程度,以便当他们点击拉起菜单时,无论缩放程度如何,菜单都保持相同的大小。为此,我需要能够根据缩放比例适当地调整菜单的大小。是否有方法可以实现这一点?


在经过大量的搜索后,我想回答这个问题。设置赏金。 - John Green
1个回答

6

首先,所有的 UIWebView 都有一个 UIScrollView 子视图。因此,为了获取它,您可以执行以下操作:

for (UIView * v in [_webView subviews]) {

    if ([v isKindOfClass:[UIScrollView class]]) {
        UIScrollView * s = (UIScrollView*)v;
        // use the scrollview
    }

}

接下来,您可以使用UIScrollView来查找缩放比例。不幸的是,这种情况下属性zoomScale不能告诉我们想要的内容,但我们可以使用scrollView的contentSizeframe,如下所示:

CGFloat zoomScale = s.contentSize.width / s.frame.size.width;

接下来,我想您希望将这个zoomScale告诉您的JavaScript代码。您可以使用以下代码:

[_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"yourJSZoomScaleVar = %f;", zoomScale]];

希望这能有所帮助!

抱歉,我知道我是在实际网页的上下文中寻找它。进一步的研究表明,它将是window.innerWidth/screen.width的某种派生形式。明天会有机会进一步研究它。 - John Green

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