UIWebView в UIPopoverController

У меня Универсальное приложение. В версии для iPhone у меня есть контроллер представления и перо, которое просто загружает веб-представление пользовательского интерфейса с локальным файлом html, состоящим из разметки jQueryMobile. Работает, как и ожидалось.

В версии для iPad я загружаю то же представление в контроллер представления всплывающего окна, а затем отображаю его. Это работает, но с неприятной аномалией. UIWebview отображает содержимое, поэтому для просмотра всего содержимого требуется горизонтальная прокрутка, даже если в этом нет необходимости. Я установил размер всплывающего окна так, чтобы он соответствовал размеру окна iPhone (320x480). Он не отображается, поэтому в iPhone необходима горизонтальная прокрутка.

Любые идеи?


person macgeezer    schedule 15.05.2011    source источник


Ответы (1)


Я нашел проблему. Оказывается, есть ошибка в iOS для iPad, когда она возвращает полную ширину устройства вместо ширины просмотра во всплывающем окне. jQuery имеет поведение по умолчанию для получения содержимого области просмотра с использованием ширины устройства.

Мне удалось переопределить поведение jQuery по умолчанию, указав другой файл javascript между ссылкой jquery и ссылкой jquery для мобильных устройств, и этот файл содержал следующее:

$(document).bind("mobileinit", function(){
    $.mobile.metaViewportContent = "width=320, minimum-scale=1, maximum-scale=1";
});

Работает как шарм!

person macgeezer    schedule 19.05.2011
comment
Спасибо, что вернулись, чтобы поделиться знаниями. - person Paul D. Waite; 20.05.2011