关于iOS动态启动图的一点思考

最近项目经理要求启动图换成动态。当时我想多简单。可是实现过程中发现即使是一个简单的启动图,也是大有学问的。

首先我们知道,苹果是不允许将LaunchImage设置为动态图的(gif之类的)。所以想达到动态的效果一般只有两种方式:1.使用UIImageView的帧动画

Snip20180711_25.png

第二种就是用UIWebView加载


Snip20180711_27.png

可是使用UIWebView加载会存在一个问题:一般使用动态启动图的时候,为了让更自然的引渡,会将gif的第一帧图作为静态启动图使用。如果你这个gif图的背景色是深色的话,会出现从加载第一帧图到显示gif的过程中有白色闪屏的情况。

我用slowAnimation动画调试,代码调试,换静态启动页各种办法后,都找不出那个白色究竟是什么视图的颜色。它并不是UIWebView的背景色,也不是主Window的背景色。另外观摩了数十个app后,我发现其实很少有动态启动图为gif的。大多数的动态启动图是通过帧动画或者自定义的view动画来实现的。如果gif的帧数过多,显然帧动画是不可取的。你想想,就算有30帧,你要导4套图,那就是120张图片.....

自定义的view动画一般可以解决大部分问题。不过如果项目经理给的动态图效果过于复杂的话是很难实现的。

最后补充一点UIWebView的坑:UI导图一定要导物理像素.....因为UIWebView为了配合Web端,其显示像素和普通的UIView是不一样的。应该按照物理像素来导图。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,635评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,300评论 4 61
  • 掐指一算我从五月份被迫辞职到现在已经有八个月的时间了,烦躁焦虑的情绪总在夜深人静的时候将我淹没。 原本八月份已找到...
    香薰1219阅读 170评论 0 0
  • 2017年4月13日完成作业于家里 1.我怎么如此幸运,写了几天的作业后家里的空气似乎都是漂香的,我不再冷眼,不再...
    楼尚青阅读 290评论 1 0