【发布时间】:2014-05-20 19:08:02
【问题描述】:
我有一个在 2 个不同图像之间变化的 ImageView。当事件发生并且它在 ImageView1 中时,我希望它播放特定的动画。当一个事件发生并且它在 ImageView2 中时,我希望它播放一个特定的、不同的动画。到目前为止,我的代码设置基本上是
if (ImageView1 == YES)
{
ImageView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"ImageAnimate1.png"],
[UIImage imageNamed:@"ImageAnimate2.png"],
[UIImage imageNamed:@"ImageAnimate3.png"],
[UIImage imageNamed:@"ImageAnimate4.png"], nil];
[ImageView setAnimationRepeatCount:1];
ImageView.animationDuration = 1;
[ImageView startAnimating];
}
else
{
ImageView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"ImageAnimate5.png"],
[UIImage imageNamed:@"ImageAnimate6.png"],
[UIImage imageNamed:@"ImageAnimate7.png"],
[UIImage imageNamed:@"ImageAnimate8.png"], nil];
[ImageView setAnimationRepeatCount:1];
ImageView.animationDuration = 1;
[ImageView startAnimating];
}
我知道它不需要有 2 组不同的动画重复和持续时间,但这只是开始,以防它们稍后发生变化。
主要问题是,第一组动画只有在我当前将其设置为 ImageView1 时才会播放。我的意思是,如果我在左侧点击/触摸屏幕,它会创建 ImageView1,如果我在右侧点击,它会创建 ImageView2。如何将它从当前必须向左点击才能播放该动画,改为仅在 ImageView 当前显示时播放动画?
它可能就像将它设置为当前的 UIImage 一样简单,但我不确定该怎么做。
换句话说,我想以某种方式写作。
if (UIImage ImageViewLeft = YES)
ImageView.animationImages etc etc etc.
else ImageView.animationImages would be the second variation.
编辑:我只是将其更改为
if (ImageView.image == [UIImage imageNamed:@"ImageLeft.png"])
{ code here
虽然现在我无法改变方向,直到另一个事件发生。本质上,它将被卡在左侧或右侧,直到事件发生,然后它与正确的图像相关联。 .
【问题讨论】:
标签: ios animation methods uiimageview