Проблема с UIWebView: нежелательные горизонтальные полосы прокрутки

#ios #uiwebview

#iOS #uiwebview

Вопрос:

Я загружаю в UIWebView простой локальный HTML-код, состоящий из текста, ничего особенного. До iOS 4.1 он нормально отображался без моих действий. Начиная с версии 4.2, тот же HTML заполняет окно, которое больше экрана (книжный макет), и поэтому появляется горизонтальная полоса, и для просмотра всей страницы требуется прокрутка.

У кого-нибудь еще была эта проблема, и если да, то что вы сделали, чтобы ее исправить?

Я сделал все, что мог придумать, включая: — настройку размера тела в css. — использование мета-тега viewport для настройки содержимого на ширину устройства (это просто уменьшило размер текста, но окно осталось того же размера (т. Е. Слишком большим). — установка рамки и / или границ webview. — настройка масштаба для размещения в webview.

Ничего не сработало. Область отображения web View по-прежнему примерно в два раза шире экрана.

Сбит с толку!

Комментарии:

1. Что ж, я нашел проблему. Правильный ответ — использовать мета-тег viewport: <meta name=»viewport» content=»width=device-size» /> Это отлично работает при загрузке html-страницы с использованием метода webview loadRequest. Однако это не сработает, если загрузить ваш HTML с помощью метода loadHTMLString. Я полагаю, это должно быть ошибкой. Кстати, я использовал метод loadHTMLString, потому что хотел внести некоторые изменения в HTML перед его загрузкой.

2. Ладно, так что это тоже было не совсем так. Я предварительно загружал HTML-код в веб-представление и сохранял его в переменной экземпляра для отображения позже. В этих условиях тег viewport не работает. Тег viewport интерпретируется правильно, если веб-просмотр создается и отображается по запросу с помощью метода loadView.