是否可以在iOS应用中添加.gif file
作为启动画面?
如何创建动态闪屏?知道如何在启动画面中添加gif
答案 0 :(得分:0)
您必须查看控制器,如启动画面,停留3-4秒。启动图像gif是不可能的。
1)你可以通过逐个播放图像序列来实现。 UIImageView类中有一个方法可以播放图像数组。
2)你可以播放5秒的视频。
修改强>
NSArray *animationArray=[NSArray arrayWithObjects:
[UIImage imageNamed:@"images.jpg"],
[UIImage imageNamed:@"images1.jpg"],
[UIImage imageNamed:@"images5.jpg"],
[UIImage imageNamed:@"index3.jpg"],
nil];
UIImageView *animationView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0,320, 460)];
animationView.backgroundColor=[UIColor purpleColor];
animationView.animationImages=animationArray;
animationView.animationDuration=1.5;
animationView.animationRepeatCount=0;
[animationView startAnimating];
[self.view addSubview:animationView];
答案 1 :(得分:0)
这可以帮到你:
NSMutableArray *images = [[NSMutableArray alloc] init];
NSInteger animationImageCount = 38;
for (int i = 0; i < animationImageCount; i++) {
// Images are numbered IndexedImagesInMyAnimation0, 1, 2, etc...
[images addObject:(id)[UIImage imageNamed:[NSString stringWithFormat:@"IndexedImagesInMyAnimation%d", i]].CGImage];
}
CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"contents"];
animation.calculationMode = kCAAnimationDiscrete;
animation.duration = animationImageCount / 24.0; // 24 frames per second
animation.values = images;
animation.repeatCount = 1;
animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeForwards;
[self.animationImageView.layer addAnimation:animation forKey:@"animation"];
另外,如您所知,单周期动画的repeatCount和持续时间,您可以轻松计算总动画时间,如下所示:
totalAnimationTime = repeatCount * duration
现在,您可以在计时器中使用此totalAnimationTime并切换视图控制器。
答案 2 :(得分:0)
根据Apple的指南,无法使用gif
作为启动画面或启动图像。
如果您使用故事板作为启动画面(&gt; ios 7),那么您可以使用jpg
但低于或等于ios 7的版本,您只有png
选项。
您可以通过使第一个视图控制器动画化并使其作为splash scree工作来实现动画类型的启动。在这种情况下,您不应该设置启动屏幕故事板的任何启动图像(或设置黑色背景颜色),因此它将在应用程序启动时显示黑屏,然后您的第一个视图控制器将是动画,您的应用程序将获得启动动画或gif
。
希望这会有所帮助:)