#ios #uiwebview #uipopovercontroller #horizontal-scrolling
#iOS #uiwebview #uipopovercontroller #горизонтальная прокрутка
Вопрос:
У меня есть универсальное приложение. В версии для iPhone у меня есть контроллер просмотра и перо, которое просто загружает веб-просмотр пользовательского интерфейса с локальным HTML-файлом, состоящим из разметки jQueryMobile. Это работает так, как ожидалось.
В версии для iPad я загружаю это же представление в контроллер всплывающего окна, а затем отображаю его. Это работает, но с неприятной аномалией. UIWebView отображает содержимое таким образом, что для просмотра всего содержимого требуется горизонтальная прокрутка, даже если в этом нет необходимости. Я установил размер всплывающего окна таким, чтобы он соответствовал размеру iPhone view (320×480). Он не отображает так, чтобы в iPhone требовалась горизонтальная прокрутка.
Есть идеи?
Ответ №1:
Я нашел проблему. Оказывается, в iOS для iPad есть ошибка, из-за которой она возвращает полную ширину устройства вместо ширины просмотра во всплывающем окне. jQuery использует поведение по умолчанию для получения содержимого области просмотра с использованием ширины устройства.
Я смог переопределить поведение jQuery по умолчанию, установив ссылку на другой файл javascript между ссылкой на jquery и ссылкой на jquery mobile, и этот файл содержал следующее:
$(document).bind("mobileinit", function(){
$.mobile.metaViewportContent = "width=320, minimum-scale=1, maximum-scale=1";
});
Работает как шарм!
Комментарии:
1. Спасибо, что вернулись, чтобы поделиться знаниями.