Мое приложение загружает веб-страницы из Интернета с помощью UIWebView. Однако я хотел бы изменить интерфейс, чтобы пользователь не воспринимал его как веб-страницу. Что я могу сделать? а как это сделать?
Примеры: - Показывать страницу, когда все загружено? - Эффект исчезновения?
Предложения, пожалуйста.
2 ответа
Можно отслеживать обратные вызовы делегатов из UIWebView
, чтобы определить, когда страница завершила загрузку, а затем выполнить любой визуальный эффект, который вы хотите в это время. Если веб-представление - это большая часть или весь ваш контроллер представления, вы можете отложить продвижение своего контроллера представления до этого времени или вы можете исчезнуть в представлении, как вы упомянули.
Однако даже при чтении HTML с локального диска наблюдается заметное отставание. Ожидание загрузки удаленного контента приведет к еще большей задержке. Вы также должны иметь дело с реалиями ненадежной сети: иногда ваш контент никогда не будет доставлен.
Однако после загрузки и отображения первой страницы ваши возможности будут ограничены. Если вы попытаетесь создать впечатление, что это полностью нативное приложение, будет сложно объяснить задержку или то, почему оно не запускается, когда сеть недоступна (режим полета, без сотовой связи или Wi-Fi).
Я предполагаю, что вы хотите отображать страницу, как если бы это ресурс, содержащийся в вашем приложении (а не что-то, что транслируется из браузера?)
В этом случае загрузите веб-страницу в локальный файл и отобразите ее только после полной загрузки.
Я предоставляю образец кода в этом ответе, который вы можете легко адаптироваться к html-странице (а не к pdf-документу)
Похожие вопросы
Связанные вопросы
Новые вопросы
iphone
НЕ ИСПОЛЬЗУЙТЕ этот тег, если вы не обращаетесь конкретно к iPhone и / или iPod touch от Apple. Для вопросов, не зависящих от оборудования, используйте тег [ios]. Больше тегов, которые нужно рассмотреть, это [xcode] (но только если вопрос касается самой IDE), [swift], [target-c] или [cocoa-touch] (но не [cocoa]). Пожалуйста, воздержитесь от вопросов, касающихся iTunes App Store или iTunes Connect. Если вы используете C #, пометьте [mono].