2012-06-15 3 views
1

У меня есть приложение для журнала, и я хочу знать. Есть ли способ предварительной загрузки UIView и UIImages? СтруктураПредварительная загрузка UIView и UIImage

Мои взгляды:

MagazineView 
    -> pageView 
    -> imageContainerView 
     -> image 
    -> imageContainerView 
     -> image 
    -> textView 
    -> pageView 
etc... 

Так что мой вопрос - как для предварительной загрузки изображений до мнения видны? Я хочу сделать некоторый кеш с 3 или 5 страницами и создавать потоки для загрузки просмотров. Есть идеи?

ответ

0

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

Что вы можете сделать, это сначала загрузить изображения с использованием [NSData dataWithContentsOfURL:], либо сбрасывать данные в файл с помощью writeToFile:atomically: на ваш экземпляр NSData, либо просто хранить данные в куче в NSData для последующего повторного использования.

Затем, когда вам это нужно, вы можете создать UIImage, используя либо [UIImage imageWithContentsOfFile], либо [UIImage imageWithData:].

Обратите внимание, что если вы сохраняете кеш в файлах, сохраните эти файлы в папке с кешем, а не в папке с документами, или отметьте их атрибутом, который пропускает их при синхронизации с iCloud, иначе ваше приложение будет отклонено Яблоко.

Также имейте в виду, что загрузка этих изображений может длиться долго, время ожидания или сбой. Вы должны сделать все это в фоновом потоке таким образом, чтобы не блокировать основной поток, иметь визуальный индикатор того, что приложение не заморожено, и иметь резервную копию для случая сбоя загрузки или кеширования (если вы сохраняете изображения в файлы)

+0

Нет У меня загружены все изображения ... Когда я имею в виду предварительную нагрузку, я имею в виду рисование изображений, но на фоне. Thx для ответа ... –

0

После того, как вы загрузили изображения, описанные в J_D, просто поместите их в pageView и установите для них «Скрытые» в «YES». Каждый раз, когда вы хотите переключать страницу, просто вызовите какой-либо метод, который предварительно загрузит новые изображения и покажет те, которые уже загружены (установите Hidden to NO) ;-). Надеюсь, что это поможет вам решить вашу проблему ...

Смежные вопросы