Обнаружение масштаба масштабирования iPad

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

Ответ 1

Во-первых, все 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]];

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