2015-06-25 2 views
0

В настоящее время я успешно использую «SDWebImageManager downloadImageWithURL» для загрузки отдельных изображений, а затем метод делегата «transformDownloadedImage» автоматически вызывает завершение, чтобы изменить размер изображений до их кеширования.SDWebImage - SDWebImagePrefetcher не использует transformDownloadedImage

Я хотел бы, однако, предпочесть предварительную выборку кучи изображений (~ 25), которые еще не отображаются с использованием кода prefetcher ниже аналогичным образом. Однако проблема заключается в том, что делегат 'transformDownloadedImage' не вызывается после завершения (из 1 или всех изображений) - изображения кэшируются как есть.

SDWebImagePrefetcher *prefetcher = [SDWebImagePrefetcher sharedImagePrefetcher]; 
    [prefetcher prefetchURLs:array progress:nil completed:^(NSUInteger completedNo, NSUInteger skippedNo) { 
    }]; 

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

Любой совет о том, как это сделать эффективно, будем очень благодарны!

ответ

1

Если вы посмотрите на реализацию SDWebImagePrefetcher, вы заметите, что он использует SDWebImageManager для выполнения загрузки, и он доступен как свойство. Таким образом, вы должны быть в состоянии сделать что-то вроде этого:

prefetcher.manager.delegate = self; 

Теперь вы можете реализовать метод downloadImageWithURL делегата, как вы делали раньше. Я не пробовал, но он должен работать.

+0

Да - спасибо !!! Именно так оно и было - сейчас прекрасно работает. Я видел, что 'SDWebImagePrefetcher' использовал' SDWebImageManager', но не мог понять, почему его делегат не вызывается. – emoof

+0

Ничего себе! и я попробовал [SDWebImagePrefetcher sharedImagePrefetcher] .delegate = ... и не понял, почему делегат не вызвал. БЛАГОДАРЯ ! – user1105951

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