我正在尝试寻找一种方法来检测用户在Web应用程序中的缩放程度,以便当他们点击拉起菜单时,无论缩放程度如何,菜单都保持相同的大小。为此,我需要能够根据缩放比例适当地调整菜单的大小。是否有方法可以实现这一点?
首先,所有的 UIWebView
都有一个 UIScrollView
子视图。因此,为了获取它,您可以执行以下操作:
for (UIView * v in [_webView subviews]) {
if ([v isKindOfClass:[UIScrollView class]]) {
UIScrollView * s = (UIScrollView*)v;
// use the scrollview
}
}
接下来,您可以使用UIScrollView
来查找缩放比例。不幸的是,这种情况下属性zoomScale
不能告诉我们想要的内容,但我们可以使用scrollView的contentSize
和frame
,如下所示:
CGFloat zoomScale = s.contentSize.width / s.frame.size.width;
接下来,我想您希望将这个zoomScale告诉您的JavaScript代码。您可以使用以下代码:
[_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"yourJSZoomScaleVar = %f;", zoomScale]];