我应该在iOS上使用GIF文件或动画代码吗?

时间:2016-09-27 08:20:39

标签: ios iphone animation calayer

我打算在iOS上制作一个启动画面,包括一个人,一个椅子对象。这些物体中的每一个都具有分离的方面,如手,头,身体和动画在一起的脚。我想知道哪个更好的方式去?导入GIF文件或编码CALayer对象然后添加动画?

2 个答案:

答案 0 :(得分:6)

您无法在启动画面(启动画面)中使用GIF文件或任何动画代码,您只能使用静态图片,PNG或JPG(如果启动画面是故事板)。

所以,如果你想让你的应用程序的启动有一些动画,那么你应该在你的第一个视图控制器中管理它。

您可以使用

等图像集为imageview设置动画
UIImageView* myImageViewForAnimation = [[UIImageView alloc] initWithFrame:self.view.bounds];
myImageViewForAnimation.animationImages = [NSArray arrayWithObjects:
                                     [UIImage imageNamed:@"image1"],
                                     [UIImage imageNamed:@"image2"],
                                     [UIImage imageNamed:@"image3"],
                                     [UIImage imageNamed:@"image4"], nil];
myImageViewForAnimation.animationDuration = 1.0f;
myImageViewForAnimation.animationRepeatCount = 0;
[myImageViewForAnimation startAnimating];
[self.view addSubview: myImageViewForAnimation];

更新(在评论中提到):

您可以在操作方法中查看已添加gesture recognizer的视图,也可以将tag设置为每个imageview并在操作方法中处理它。

例如,

 -(void)tapOnProfileImage : (UITapGestureRecognizer*)recog{


UIImageView *tempView = (UIImageView *)recog.view;

// or

if (recog.view.tag == 1) {

    // image 1
}

if (recog.view.tag == 2) {
    //image 2
}
}

因此,在每个图片视图中,您都应该add target with selector - tapOnProfileImage并且可以区分它,如上面的代码段中所述!

答案 1 :(得分:2)

您可以使用gif图片,但不能直接在启动xib上使用。您创建一个视图控制器并在该视图控制器上加载gif图像,一旦完成动画,然后从导航堆栈中删除此控制器。 https://github.com/Flipboard/FLAnimatedImage使用此gif图像视图控件。