Установка ширины UIWebView и высоты

Я должен регулировать высоту и ширину UIWebView так, чтобы целый текст был отображен в рамках представления, и пользователь не должен прокручивать для чтения текста.

У кого-либо есть какая-либо идея, как получить ее?

6
задан aditya 21 May 2010 в 04:38
поделиться

3 ответа

Надеюсь, это укажет вам правильное направление.

Вызывая метод 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;

Вам также может потребоваться снова сбросить scalePageToFit , чтобы содержимое было адаптировано к новому размеру кадра.

Другой вариант - определить window.height и window.width на стороне HTML и использовать JavaScript для настройки содержимого в соответствии с аспектами UIWebView.

4
ответ дан 8 December 2019 в 18:33
поделиться
webView.scalesPageToFit = YES;

См. Также: UIWebView + SFHFStringMetrics

8
ответ дан 8 December 2019 в 18:33
поделиться

В UIWebView нет специальных положений для изменения размера в соответствии с содержимым. Вы можете установить для свойства scalePageToFit значение YES , чтобы уменьшить масштаб содержимого, или вы можете сделать вид достаточно большим, чтобы уместить наиболее приемлемые размеры страниц. Из вашего вопроса я понимаю, что вы показываете контент, который вы контролируете. Если нет, то я не уверен, что есть простой программный способ добиться того, чего вы хотите.

1
ответ дан 8 December 2019 в 18:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: