我创建了一个带有4个图像的简单动画..它在模拟器中运行但在设备中它会崩溃.. 代码:
- (void)viewDidLoad {
[super viewDidLoad];
[self flashOn:_myButton];
NSArray *imageNames= @[@"jake_2.png",@"jake_4.png",@"jake_5.png"];
// Do any additional setup after loading the view, typically from a nib.
NSMutableArray *images = [[NSMutableArray alloc] init];
for (int i = 0; i < imageNames.count; i++)
{
[images addObject:[UIImage imageNamed:[imageNames objectAtIndex:i]]];
}
UIImageView *slowAnimationImageView = [[UIImageView alloc] initWithFrame:CGRectMake(160,95,86,193)];
slowAnimationImageView.animationImages = images;
slowAnimationImageView.animationDuration = 5;
[self.view addSubview:slowAnimationImageView];
[slowAnimationImageView startAnimating];
}
答案 0 :(得分:0)
将slowAnimationImageView声明为头文件中的retain属性,如下所示 -
@property(nonatomic,retain) UIImageView *slowAnimationImageView;
答案 1 :(得分:0)
在.h文件中
@property(nonatomic,retain) IBOutlet UIImageView * slowAnimationImageView;
在.m文件中
-(void)imageAnimation{
self. slowAnimationImageView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"jake_2.png"],
[UIImage imageNamed:@"jake_4.png"],
[UIImage imageNamed:@"jake_5.png"]],
nil];
self. slowAnimationImageView.animationDuration = 5.0f;
self. slowAnimationImageView.animationRepeatCount = 0;
[self. slowAnimationImageView startAnimating];
}
答案 2 :(得分:0)
在模拟器中,名称是不区分大小写的。在设备中,名称区分大小写。代码中的所有内容都是完美的。只需检查验证图像的文件名。
确保代码和实际文件名完全相同。即捆绑到应用程序中的映像文件必须具有文件名为&#34; jake_2.png&#34;所以对于所有的图像文件。
答案 3 :(得分:0)
我已经通过运行您的代码检查了不同的图像名称,并且它在我的设备上没有崩溃。你应该尝试这些可能有助于解决问题的步骤