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,我会尝试一下,看看是否能得到我希望的结果!然后才能确认你的答案!确认一下,我的音序器的表现就像“西蒙记忆游戏”。所以我已经设置了声音,只是尝试添加图像以显示在音符旁边!!