我打算在iOS上制作一个闪屏,其中包含一个人和一个椅子对象。每个对象都有分离的方面,如手、头、身体和脚,这些方面共同动画。我想知道哪种方法更好?是导入GIF文件还是编写CALayer对象然后添加动画?
启动画面(闪屏)不能使用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];
更新(根据评论要求):
您可以在操作方法中获取已添加手势识别器的视图,或者您可以为每个imageview
设置tag
并在操作方法中处理它。
例如,
-(void)tapOnProfileImage : (UITapGestureRecognizer*)recog{
UIImageView *tempView = (UIImageView *)recog.view;
// or
if (recog.view.tag == 1) {
// image 1
}
if (recog.view.tag == 2) {
//image 2
}
}
添加目标和选择器- tapOnProfileImage
,并且您可以根据上面的代码片段进行区分!tapgesturerecognizer
,然后您可以在操作方法中处理轻拍。 - Ketan Parmar您可以使用gif图像,但不能直接在启动xib上使用。您需要创建一个视图控制器并将gif图像加载到该视图控制器上,在动画完成后,从导航堆栈中删除此控制器。https://github.com/Flipboard/FLAnimatedImage 使用此gif图像视图控件。