我正在尝试找到一种方法来检测某人在网络应用中放大的速度,以便当他们点击拉出菜单时,无论缩放如何,菜单都会保持相同的大小。为此,我需要能够相对于缩放适当地缩放菜单的大小。有没有办法做到这一点?
答案 0 :(得分:6)
首先,所有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]];
希望它有所帮助!