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