如何在ios的启动画面中添加.gif文件?

时间:2016-07-15 06:28:06

标签: ios objective-c iphone

是否可以在iOS应用中添加.gif file作为启动画面? 如何创建动态闪屏?知道如何在启动画面中添加gif

3 个答案:

答案 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作为启动画面或启动图像。

如果您使用故事板作为启动画面(> ios 7),那么您可以使用jpg但低于或等于ios 7的版本,您只有png选项。

您可以通过使第一个视图控制器动画化并使其作为splash scree工作来实现动画类型的启动。在这种情况下,您不应该设置启动屏幕故事板的任何启动图像(或设置黑色背景颜色),因此它将在应用程序启动时显示黑屏,然后您的第一个视图控制器将是动画,您的应用程序将获得启动动画或gif

希望这会有所帮助:)