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

Should I use GIF file or animation code on iOS?

我打算在 iOS 上制作启动画面,其中包含一个人,一把椅子 objects。这些 objects 中的每一个都有单独的方面,例如手、头、body 和脚一起动画。我想知道哪种方法更好?导入 GIF 文件或编码 CALayer objects 然后添加动画?

您不能为启动屏幕(启动屏幕)使用 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 并且您可以像上面的代码片段中提到的那样区分它!

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