iOS-开发随笔

iOS LaunchScreen.storyboard 踩坑指南

2020-07-09  本文已影响0人  AndyGF

2020年6月30日以后,苹果强制要求使用 LaunchScreen.storyboard 来设置启动图。以前我用 launchImage 每次让UI出一堆图, 自己替换也麻烦, 操作起来方便不少.

这种方式做启动页, 实际是在程序第一次启动时, 用 LaunchScreen.storyboard 的内容绘制了一张图片, 保存起来了, 保存在 App 的 /Library/SplashBoard/Snapshots 文件夹里, 这样以后再启动的时候就可以直接用了,

优点:

  1. 上传到 AppStore 的 ipa 包体变小了.
  2. 操作简单了.

一. 图片在不同大小屏幕上不存在拉伸

这种情况的启动图一般设计不是很复杂, 可以直接一张图片搞定. 搞个 UIImageView 拖到 LaunchScreen.storyboard, 设置图片, 设置约束.

二. 图片比较复杂, 在不同大小屏幕拉伸严重

这种情况一般一张图片拉伸会比较严重, 此时就需要换一种方式去做, 把图片种元素切分出来, 分别做成很多小图片, 当然也可以是文字, 当作正常页面去做布局. 设置约束. 这样在不同的屏幕上显示虽然不太一样, 但是不会被拉伸, 视觉效果还是可以的

坑点一:

LaunchScreen.storyboard 所需的所有图片资源, 都放到根目录下, 不要放在 Assets.xcassets 资源文件夹里, 否则部分机型显示不出来.

坑点二:

不要随便改图片的后缀名, UI 给的是 jpg, 就不要直接改成 png, 否则后果自负.

坑点三:

在开发过程中, 难免会更换启动图, 当你开心的把新图片改成和原来的图片相同名称后, 勇敢的按下 cmd + R, 程序启动的那一刻, 傻眼了吧, 发现并没有更换成功, 即使你这台设备成成功了, 肯定会有不成功的设备, 比如 8P 就是个异类.

各种清理缓存, 卸载重装, 关机重启, 如果这样都还不行, 遇到问题不要慌, 大招来了.

把所有用到的图片, 改个名字, 再清理缓存 , 卸载, 这样一般会好. 如果再不行, 就把 LaunchScreen.storyboard 中的控件全部删除, 重新做一遍.

那么问题来了, 这么麻烦, 用户更新 App 之后, 会不会展示新的启动图呢, 会不会也要这么复杂, 卸载重装什么的, 那不是要疯了.
不要着急, 苹果这么注重用户体验, 怎么会让这种事情发生呢, 用户更新 App 后, 会重新生成一张启动图保存起来, 删除原来的. 肯定是会更新的.
上一篇下一篇

猜你喜欢

热点阅读