iPad Zoom Scale Detection

问题描述:

我试图找到一种方法来检测如何放大某人在Web应用程序中,以便当他们单击以拉起菜单时,菜单将保持相同的大小,而不管放大倍数如何。要做到这一点,我需要能够适当地缩放相对于缩放的菜单大小。有没有办法做到这一点?iPad Zoom Scale Detection

+0

寻找回答这个问题后,大量挖掘。设置赏金。 – 2011-06-22 05:13:27

首先,全部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]]; 

希望它有帮助!

+0

对不起,我知道我在一个实际的网页上下文中寻找它。进一步的研究表明,这将是window.innerWidth/screen.width的一些推导。明天将有机会进一步观察。 – 2011-06-24 08:12:29

+0

这真的有帮助!谢谢! – Mason 2011-06-24 13:43:42