【发布时间】:2013-02-04 15:16:20
【问题描述】:
我正在尝试使用 UIImageView 为灯打开和关闭设置动画。我有两张图片,一张有发光,另一张没有。这应该很简单,我确信我之前已经完成了,没有问题,但我的代码无法正常工作。这是我所拥有的:
UIImage *glow = [UIImage imageNamed:@"Glow.png"];
UIImage *noGlow = [UIImage imageNamed:@"No Glow.png"];
NSArray *images = [NSArray arrayWithObjects:noGlow, glow, nil];
self.lampImage.animationImages = images;
self.lampImage.animationDuration = 1.0;
[self.lampImage startAnimating];
NSLog(@"%d", self.lampImage.isAnimating); // prints 1
NSLog(@"%d", self.lampImage.animationRepeatCount); // prints 0
目前我的 viewDidLoad 中有这段代码。如果我使用上面的代码运行应用程序,我看到的只是 NoGlow 图像。如果我交换图像数组中的顺序(glow、noGlow、nil)并再次运行应用程序,我只会看到 Glow 图像。
根据日志,它正在制作动画并且重复次数为 0,这意味着它应该无限期地保持动画。为什么我没有看到任何动画?
我正在 iOS 5.1 和 6.1 模拟器中对此进行测试,两者的结果相同。
【问题讨论】:
-
你检查两个图像是否都不为零吗?我尝试了代码,它对我有用。检查您的图像是否已加载并且不为零。如果在 xib 文件中创建,还要检查是否连接了名为 lampImage 的 imageView。
-
尝试添加动画计数和自动反转,以确保在视图可见之前它没有动画。
-
我在 viewDidLoad 方法中尝试过,Eric,它在我的测试项目中有效。
-
尝试用 No_Glow.png 重命名文件 No Glow.png
-
@SimonePistecchia 你明白了。我的图像被命名为“NoGlow.png”,但在我的代码中,我将其引用为“No Glow.png”。您应该发布您的解决方案作为答案,我会为您接受。谢谢!
标签: iphone ios xcode ipad uiimageview