【发布时间】:2011-09-07 03:16:36
【问题描述】:
我正在尝试找到一种方法来检测某人在网络应用程序上的放大程度,以便当他们点击拉出菜单时,无论缩放如何,菜单都保持相同的大小。为此,我需要能够相对于缩放适当地缩放菜单的大小。有没有办法做到这一点?
【问题讨论】:
-
经过大量研究,希望能回答这个问题。设置赏金。
我正在尝试找到一种方法来检测某人在网络应用程序上的放大程度,以便当他们点击拉出菜单时,无论缩放如何,菜单都保持相同的大小。为此,我需要能够相对于缩放适当地缩放菜单的大小。有没有办法做到这一点?
【问题讨论】:
首先,所有UIWebView 都有一个UIScrollView 子视图。因此,为了获得它,您可以执行以下操作:
for (UIView * v in [_webView subviews]) {
if ([v isKindOfClass:[UIScrollView class]]) {
UIScrollView * s = (UIScrollView*)v;
// use the scrollview
}
}
之后,您可以使用UIScrollView 找出缩放比例。不幸的是,zoomScale 属性并没有告诉我们,在这种情况下,我们想要什么,但我们可以使用滚动视图的 contentSize 和 frame,如下所示:
CGFloat zoomScale = s.contentSize.width / s.frame.size.width;
在那之后,我想你想告诉你的javascript代码关于这个zoomScale。您可以使用以下代码:
[_webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"yourJSZoomScaleVar = %f;", zoomScale]];
希望对你有帮助!
【讨论】: