Ios UIImageView从SDWebImage下载的图像进行幻灯片放映
我正在为延时照片制作应用程序,我正在使用从服务器下载+缓存照片,我想从一系列照片中进行幻灯片放映。我已经为UIImageView尝试了SDWebImage的方法Ios UIImageView从SDWebImage下载的图像进行幻灯片放映,ios,objective-c,animation,uiimageview,sdwebimage,Ios,Objective C,Animation,Uiimageview,Sdwebimage,我正在为延时照片制作应用程序,我正在使用从服务器下载+缓存照片,我想从一系列照片中进行幻灯片放映。我已经为UIImageView尝试了SDWebImage的方法setAnimationImagesWithURLs,这很有效,但我需要更多的控制(我不想在viewDidLoad之后立即启动动画,…) 我想象在视图控制器显示后,它开始从NSURL数组下载照片,只显示第一张图片,有播放/停止/下一个控件,用户可以点击它们开始动画 在关于UIImageView动画的每个教程中,他们都会将图像加载到数组中,
setAnimationImagesWithURLs
,这很有效,但我需要更多的控制(我不想在viewDidLoad之后立即启动动画,…)
我想象在视图控制器显示后,它开始从NSURL数组下载照片,只显示第一张图片,有播放/停止/下一个控件,用户可以点击它们开始动画
在关于UIImageView动画的每个教程中,他们都会将图像加载到数组中,该数组用作setAnimationImages:array
,但在阅读之后,这似乎不是一个好主意
那么,怎样才能正确地做到这一点呢?如果您正在运行幻灯片放映,您通常会在每个图像之间有一个很好的过渡动画。正如您所说,您还需要暂停、手动跳过等 使用单个图像视图不一定能很好地实现这一点。您可能希望有两个图像视图并同时使用它们(淡入或移出屏幕) SDWebImage可以在后台为您下载图像(
SDWebImageDownloader.sharedDownloader
),因此您可以轻松地将下载与幻灯片放映动画分离
NSTimer
适用于运行幻灯片放映。您可以根据需要启动并使其无效。运行以移动到下一个映像的方法也可以显式运行,这是必需的
所以,您需要的不是图像视图动画。它是一个幻灯片组件,碰巧是通过(几个)图像视图实现的
综上所述,利用现有代码:。对于任何需要此功能的人,根据答案,我提出了使用 而且,它工作得很好 这是我的密码:
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];
我也遇到过类似的情况。我正在使用
SDWebImageManager
创建幻灯片,我不知道是缓存图像还是否。请检查我的问题