UIWebView в UIPopoverController

#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. Спасибо, что вернулись, чтобы поделиться знаниями.