Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIImageView从SDWebImage下载的图像进行幻灯片放映_Ios_Objective C_Animation_Uiimageview_Sdwebimage - Fatal编程技术网

Ios UIImageView从SDWebImage下载的图像进行幻灯片放映

Ios UIImageView从SDWebImage下载的图像进行幻灯片放映,ios,objective-c,animation,uiimageview,sdwebimage,Ios,Objective C,Animation,Uiimageview,Sdwebimage,我正在为延时照片制作应用程序,我正在使用从服务器下载+缓存照片,我想从一系列照片中进行幻灯片放映。我已经为UIImageView尝试了SDWebImage的方法setAnimationImagesWithURLs,这很有效,但我需要更多的控制(我不想在viewDidLoad之后立即启动动画,…) 我想象在视图控制器显示后,它开始从NSURL数组下载照片,只显示第一张图片,有播放/停止/下一个控件,用户可以点击它们开始动画 在关于UIImageView动画的每个教程中,他们都会将图像加载到数组中,

我正在为延时照片制作应用程序,我正在使用从服务器下载+缓存照片,我想从一系列照片中进行幻灯片放映。我已经为UIImageView尝试了SDWebImage的方法
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
创建幻灯片,我不知道是缓存图像还是否。请检查我的问题