在iOS启动屏幕中制作动画的最佳方法

时间:2016-07-18 15:49:34

标签: ios animation

我想推出带有动画徽标的应用。据我所知,我们可以访问不允许自定义分类但允许使用资源的初始视图。

我已在此处阅读此答案以寻求帮助:How to Play a mp4 Video on the launch screen when the app loads Xcode SWIFT

哪种方法更好,为什么?

首先,我会使用徽标的静态图片启动:

  1. 从最初的启动视图中查看,并在Swift中自行制作徽标动画。

  2. 从初始启动视图中查看,然后使用AVPlayer播放动画徽标的视频(或GIF)。

  3. 我想要从静态启动徽标图像到动画徽标的无缝过渡。

1 个答案:

答案 0 :(得分:0)

选项1如果您的动画很短,因为它不那么复杂。选项2,如果动画很长,否则会占用太多内存。

选项1非常简单:

我假设你正在使用故事板。因此,创建一个新的视图控制器(称之为LogoAnimationViewController或其他东西)并将其设置为故事板中的初始视图控制器。在它的viewDidLoad中,执行以下操作:

UIImage *animationImage = [UIImage animatedImageNamed:@"logo-animation" duration:1];
UIImageView *animationImageView = [[UIImageView alloc] initWithImage:animationImage];
animationImageView.contentMode = UIViewContentModeScaleAspectFit;
animationImageView.center = CGPointMake(CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds));
[self.view addSubview:animationImageView];

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    UIViewController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"]; // put whatever view controller you wanna show after the animation here
    [self presentViewController:viewController animated:YES completion:nil];
});

默认情况下,从启动图像到初始视图控制器的转换是平滑交叉渐变的。