2011-06-02 3 views
10

Я пытаюсь найти способ определения того, как масштабируется кто-то в веб-приложении, поэтому, когда они нажимают, чтобы вытащить меню, меню остается того же размера, независимо от увеличения. Для этого мне нужно иметь возможность масштабировать размер меню относительно масштабирования. Есть ли способ сделать это?Обнаружение масштаба масштабирования iPad

+0

Глядя, чтобы ответить на этот вопрос, после того, как много копалось. Настройка щедрости. –

ответ

6

Во-первых, все UIWebView имеет в качестве подкатегории UIScrollView. Итак, для того, чтобы получить его вы можете сделать следующее:

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

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

} 

После этого вы можете использовать UIScrollView, чтобы выяснить масштаб увеличения. К сожалению, свойство zoomScale не говорит нам, в этом случае, что мы хотим, но мы можем использовать contentSize и frame в Scrollview, как:

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

После этого, я полагаю, вы хотите чтобы сообщить ваш код javascript об этом zoomScale. Вы можете использовать следующий код:

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

Надеюсь, это поможет!

+0

Извините, я знаю, что искал его в контексте реальной веб-страницы. Дальнейшие исследования показывают, что это будет некоторый вывод window.innerWidth/screen.width. У нас будет возможность взглянуть на это завтра. –

+0

Это действительно помогает! Благодаря! – Mason

Смежные вопросы