Надеюсь, это укажет вам правильное направление.
Вызвав метод stringByEvaluatingJavaScriptFromString:
в UIWebView
, вы можете запустить JavaScript из своего приложения в UIWebView
.
// get the height of your content
[webview stringByEvaluatingJavaScriptFromString:@"document.getElementById('id_of_content_container').offsetHeight;"];
// get the width of your content
[webview stringByEvaluatingJavaScriptFromString:@"document.getElementById('id_of_content_container').offsetHeight;"];
Выше будет возвращен объект NSString с шириной и высотой любого элемента, который вы передаете в функцию getElementById
. Обладая этой информацией, вы сможете изменить размер UIWebView в соответствии с вашим контентом. Пример:
CGRect frame = webView.frame;
frame.size.width = 100;
webView.frame = frame;
Вам также может понадобиться сбросить scalesPageToFit
еще раз, чтобы содержимое было перенастроено на новый размер кадра.
Другим вариантом будет обнаружение window.height
и window.width
на стороне HTML и использование JavaScript для настройки содержимого в соответствии с аспектами UIWebView.