Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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设置动画1秒_Ios_Objective C_Animation_Uiimageview_Nsarray - Fatal编程技术网

Ios 对阵列中的每个UIImageView设置动画1秒

Ios 对阵列中的每个UIImageView设置动画1秒,ios,objective-c,animation,uiimageview,nsarray,Ios,Objective C,Animation,Uiimageview,Nsarray,我正在尝试使用UIImageView的制作一些动画 我有一个NSArray,其中包含3个UIImageView,它们已使用interface builder在.h中连接和声明 我还有一个sequencer,可以在适当的时候从NSArray调用这些图像 此时,sequencer调用NSArray中的第一个图像,根据需要在屏幕上显示图像 但是,当调用多个图像时,图像会同时显示在屏幕上,而不是一个接一个地显示 有没有办法为这些单独的图像分配1秒的单独时间,以便在调用它们时,第二个、第三个图像在前一个图

我正在尝试使用
UIImageView
的制作一些
动画

我有一个
NSArray
,其中包含3个
UIImageView
,它们已使用interface builder在.h中连接和声明

我还有一个sequencer,可以在适当的时候从
NSArray
调用这些图像

此时,sequencer调用
NSArray
中的第一个图像,根据需要在屏幕上显示图像

但是,当调用多个图像时,图像会同时显示在屏幕上,而不是一个接一个地显示

有没有办法为这些单独的图像分配1秒的单独时间,以便在调用它们时,第二个、第三个图像在前一个图像显示1秒后才会显示

我希望这是有意义的,任何建议都将不胜感激

提前谢谢你

您需要使用
UIImageView的属性
这将允许您向用户播放一系列图像。您只需要传入一组要循环浏览的图像。从听起来的情况来看,用户输入后需要传入一个新数组。您可以使用
NSArray
的方法从图像数组中传入给定范围的元素

您还需要将属性设置为
1.0*imageCount
——其中
imageCount
是要循环的图像数,
1.0
是每个图像在屏幕上显示的时间(以总持续时间为准)

从听起来的情况来看,您不希望序列在完成后重复–因此您还希望将其设置为1

然后,您可以通过调用图像视图来调用图像序列。

尝试以下操作:

     myTimer = [NSTimer scheduledTimerWithTimeInterval:2.2 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];

    -(void)changeImage
     {
      imageVw.alpha = 1.0f;
      [UIImageView animateWithDuration:1.0 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{imageVw.alpha=0.0f;} completion:^(BOOL finished){

        if (counter>=_imgArr.count)
        {
            counter =0;
        }
        imageVw.image = [UIImage imageNamed:[_imgArr objectAtIndex:counter]];
        [UIImageView animateWithDuration:1.0 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{imageVw.alpha=1.0f;} completion:^(BOOL finished){}];
    }];

    counter++;

}

请发布您的代码。我不完全确定你想达到什么目的。当你说“动画制作”时,你的意思是显示一系列图像(没有奇特的过渡)?如果是,您可以使用
UIImageView
的属性。签出:数组是,
self.pianoladimages=@[self.pianoladimage1,self.pianoladimage2,self.pianoladimage3]
我只需要一种方法来分别分配1秒的持续时间
钢琴影像1
钢琴影像2
钢琴影像3
。因此,它们会出现(没有奇特的过渡),直到前一个图像持续1秒后,下一个图像才会显示second@hbondy那么,仅仅使用
动画图像
有什么错呢?这就是它的设计目的(显示一系列图像)。您可以更改
animationDuration
以满足您的需要。谢谢@originaluser2,我会尝试一下,看看是否能得到我希望的结果!然后才能确认你的答案!确认一下,我的音序器的表现就像“西蒙记忆游戏”。所以我已经设置了声音,只是尝试添加图像以显示在音符旁边!!