iPhone SDK - Как предварительно загрузить локальный файл в UIWebView при запуске приложения? - PullRequest
1 голос
/ 19 марта 2011

Извините, я не смог найти ответ на этот вопрос: Мое простое приложение имеет только одно веб-представление с огромным локальным html-файлом (jquerymobile, много div-файлов, изображений и т. Д.). после запуска приложения uiwebview требуется более 5 секунд для загрузки и отображения html-файла.

как я могу загрузить html-файл во время запуска приложения / показа заставки или экрана по умолчанию?

цель: я хочу, чтобы приложение показывало локальный html-файл сразу после исчезновения экрана по умолчанию - или, скажем, экран по умолчанию должен быть видимым, пока html-файл загружается в фоновом режиме. Когда это будет сделано, значение по умолчанию исчезнет, ​​и пользовательский интерфейс мгновенно покажет мне содержимое.

Большое спасибо: -)

Ответы [ 2 ]

0 голосов
/ 19 марта 2011

Для вашего корневого контроллера сделайте так, чтобы он реализовал UIWebViewDelegate.Создайте BOOL, говоря isLoaded.Создайте метод с именем webViewDidFinishLoad: он изменяет этот флаг BOOL на YES.Теперь просто добавьте проверку для этого флага, где это необходимо.

0 голосов
/ 19 марта 2011

Итак, я полагаю, что вы можете поместить нагрузку UIWebView в ваш applicationDidFinishLaunchingWithOptions и в основном «удерживать» ваше приложение в этом методе, пока вы не получите обратный вызов от вашего представителя веб-представления (webViewDidFinishLoad).

Я говорю «предположим», потому что не очень удачно удерживать пользователя на начальном экране.Пользователи по достоинству оценят визуальную обратную связь относительно того, что происходит, особенно если это длительная нагрузка.Поскольку экран загрузки по умолчанию всегда представляет собой статический PNG, вы рискуете, что через несколько секунд пользователи просто «сдаются» и думают, что приложение не загружается.

Лучшим подходом может быть рассмотрениеиспользуя какую-то модальную загрузку графической анимации.MBProgressHUD (https://github.com/jdg/MBProgressHUD) - это широко используемая библиотека, которая обеспечивает модальные экраны загрузки с анимацией. Вы можете запустить ее, как только вы активируете загрузку веб-просмотра, а затем отклонить ее, когда получите завершенный обратный вызов загрузки из веб-просмотра.

Очевидно, что ни один из подходов не является «идеальным» в соответствии с руководящими принципами Apple (которые в основном заключаются в том, что «ваше приложение должно запускаться очень быстро»), но использование какого-либо индикатора активности вместо простого удержания экрана по умолчанию приведет к тому, что пользователи будут намного счастливее, чемприложение на самом деле что-то делает, а не просто зависает.

...