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

Posted

技术标签:

【中文标题】在 iOS 启动屏幕中制作动画的最佳方法【英文标题】:Optimal approach to animating in iOS launch screen 【发布时间】:2016-07-18 15:49:34 【问题描述】:

我想用动画徽标启动我的应用程序。据我了解,我们可以访问不允许自定义分类但允许使用资源的初始视图。

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

哪种方法更好,为什么?

首先,我将使用徽标的静态图像启动:

    从初始启动视图开始,并在 Swift 中自己为徽标制作动画。

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

我希望从看似静态的启动徽标图像无缝过渡到动画徽标。

【问题讨论】:

【参考方案1】:

如果您的动画很短,则选择 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];
);

默认情况下,从启动图像到初始视图控制器的过渡是平滑淡入淡出的。

【讨论】:

以上是关于在 iOS 启动屏幕中制作动画的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

制作动画(flash)的最佳方法是啥

使用算法制作动画 GIF 的最佳方法是啥?

iOS 屏幕绘图最佳实践

在 iOS 中实现永久动画背景的最佳技术是啥?

飞溅/加载屏幕的最佳方式

在 iOS7 应用程序的单个屏幕中显示大量格式化文本的最佳方式是啥?