我正在为延时照片制作应用程序,我正在使用 SDWebImage从服务器下载+缓存照片,我想从一系列照片中进行幻灯片放映。我已经为 UIImageView 尝试了 SDWebImage 的方法 setAnimationImagesWithURLs
,它有效,但我需要更多的控制(我不想在 viewDidLoad 之后立即开始动画,...)。
我想在显示 View Controller 后,它开始从 NSURL 数组下载照片,只显示第一张图片,有播放/停止/下一个控件,用户可以点击它们开始动画...
在每个关于 UIImageView 动画的教程中,他们将图像加载到数组中,用作 setAnimationImages:array
,但在阅读后 this answer , 看起来这不是个好主意。
那么正确的做法是什么?
最佳答案
基于Wain's,对于任何需要它的人回答,我想出了解决方案 SDWebImage和 KASlideShow ,效果很好。
这是我的代码:
self.slideshow = [[KASlideShow alloc] initWithFrame:CGRectMake(0,0,320,225)];
[self.slideshow setDelay:1]; // Delay between transitions
[self.slideshow setTransitionDuration:1]; // Transition duration
[self.slideshow setTransitionType:KASlideShowTransitionFade]; // Choose a transition type (fade or slide)
[self.slideshow setImagesContentMode:UIViewContentModeScaleAspectFill]; // Choose a content mode for images to display
self.slideshow.delegate = self;
SDWebImageManager *manager = [SDWebImageManager sharedManager];
for (NSURL *snap in self.imagesURLArray) {
[manager downloadWithURL:snap options:0 progress:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) {
if (image)
{
[self.slideshow addImage:image];
}
}];
}
// do not forget to add slideshow as a subview
[self.view addSubview:self.slideshow];
关于ios - 使用 SDWebImage 下载的图像的 UIImageView 幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21804933/