最近打包IOS包时发现,上传的开屏图无法兼容iphone各机型的显示。
在官方论坛查看后发现是由于苹果新政策,现在已经改为由LaunchScreen实现启动页,将不再支持上传多个尺寸的图片,只支持1080*1920规格、1125*2436(iphoneX全面屏)、1536*2046(IPAD)三种规格。
1、若只上传了1080*1920的通用图,则会将此图作为所有iPhone设备上面的启动图。该图适合iPhone 8、iPhone 8 Plus等16:9屏幕,在iPhone X全面屏手机上面图片则会被放大,同时左右会有部分显示不全。
2、若上传了1125*2436尺寸图,则会将此图作为所有iPhone设备上面的启动图。该图适合iPhone X系列全面屏,在iPhone 8、iPhone 8 Plus等16:9屏幕上,则图片上下会有部分显示不全。应保证重要内容距离顶部、底部至少474左右像素(如果还要兼容4s更小屏幕则应至少812)。
由此可见,无论以哪张图作为启动图,在部分设备上面图片都会有部分显示不全,所以尽量把重要内容放在中间区域。
自定义启动页:
如果对启动页有非常高的显示要求,比如要求品牌icon和名字始终显示在屏幕最底部,那么可以使用自己编辑好的 storyboard 文件替换掉云编译工程中默认的,当然这要求懂iOS原生开发的一些知识,会使用Xcode编辑storyboard,能够为storyboard界面上的图片、文字等添加正确的约束条件。实现步骤:
1、通过Xcode编辑好自定义 storyboard 文件,将其和用到的资源图片等放到模块包的target目录下(可以参考附件),然后上传到控制台自定义模块处添加使用。
2、按照修改Info.plist教程,将默认的启动页文件设置为自定义的storyboard,其中UILaunchStoryboardName字段对应的值为storyboard文件的文件名。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>UILaunchStoryboardName</key> <string>CustomLaunchScreen</string> </dict> </plist>
官方示例:
链接:https://pan.baidu.com/s/1P3u7IAr-aQzcYl9b9nOlTA
提取码:y8dw
本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com