如何在ios的启动屏幕中添加.gif?

如何在ios的启动屏幕中添加.gif?,ios,objective-c,iphone,Ios,Objective C,Iphone,是否可以在iOS应用程序中添加一个.gif文件作为启动屏幕? 如何创建动态启动屏幕?想知道如何在闪屏中添加gif吗?你必须像闪屏一样查看控制器,并保持3-4秒。无法启动图像gif 1) 您可以通过一个接一个地播放图像序列来实现。UIImageView类中有可用的方法来播放图像数组 2) 你可以播放5秒的视频 编辑 NSArray *animationArray=[NSArray arrayWithObjects: [UI

是否可以在iOS应用程序中添加一个
.gif文件作为启动屏幕?

如何创建动态启动屏幕?想知道如何在闪屏中添加gif吗?你必须像闪屏一样查看控制器,并保持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]; 
这可以帮助您:

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"];
此外,如您所知,单循环动画的重复计数和持续时间,您可以轻松计算总动画时间,如下所示:

totalAnimationTime=重复计数*持续时间


现在,您可以在计时器中使用此totalAnimationTime并切换视图控制器。

根据苹果的指导原则,无法将
gif
用作启动屏幕或启动图像

如果您使用故事板启动屏幕(>ios 7),那么您可以使用
jpg
,但低于或等于ios 7的版本,您只有
png

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


希望这会有所帮助:)

我正在尝试相同的代码,但首先显示白色启动屏幕,然后显示动画。我相信您在本地有图像。如果是,则可以将第一个图像用作UIImageView中的默认图像that@BirendraSDImageCache是否用于在启动屏幕中使用动画?:/为什么?可能与[imgViewVid sd_setImageWithURL:[NSURL URLWithString:[arrVideo valueForKey:@“photo_path”]]占位符图像[UIImage sd_AnimatedGifName:@“loading1”]]重复@Birendra是的,在启动屏幕中,您将在哪里调用该代码?为什么要使用这个扩展?您可以使用UIImageView本身开始动画。最好的方法是播放3-4秒的视频,然后在视频播放完成后移动到下一个视图控制器。所以你必须在你的rootview控制器中播放视频。我尝试了同样的代码,但首先显示白色的启动屏幕,然后显示动画。你设置了启动图像了吗?是否可以创建appdelget.m文件。添加self.window我不明白你的意思。你想说什么?