Я пытаюсь найти способ определить, как масштабируется кто-то в веб-приложении, поэтому, когда они нажимают, чтобы вытащить меню, меню остается того же размера, независимо от увеличения. Для этого мне нужно иметь возможность масштабировать размер меню относительно масштабирования. Есть ли способ сделать это?
Обнаружение масштаба масштабирования 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]];
Надеюсь, что это поможет!