我是按照这个教程来搭建离线打包的ios项目的:http://ask.dcloud.net.cn/article/941(iOS创建最精简离线打包工程)
其他功能的运行都是没有问题的,只有启动页一直换不了我的图片
1、我创建了splash文件夹,并添加到了项目中(见图1)
2、并设置了App Icons and Launch Images(见图2)
3、在manifest.json中设置: "splashscreen":{"autoclose":false,"waiting":true,"delay":"0"}
问题:
但启动app时,界面先是显示黑屏,几秒后 再显示 一个有 加载旋转icon 的启动页(白色背景),之后再显示我的第一个页面,而且界面显示部分变小了,屏幕上下出现了1厘米左右高的黑边
(不方便截屏,大概就是如图3)
我是使用ipod touch进行测试的
现在问题解决了:
原来是路径问题,我把启动图 放到根目录下,而不是放在splash下,在原来的基础上加上如下图片:
Default-Portrait@2x~ipad.png (15362008)
Default-Portrait~ipad.png (7681004)
Default-Portrait7@2x~ipad.png (15362048)
Default-Portrait7~ipad.png (7681024)
在UILaunchImages中加入:
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>Default-Portrait</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{768, 1004}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>Default-Portrait7</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{768, 1024}</string>
</dict>
就可以了,撒花~
Vol561 (作者)
谢谢回复!想再请教一下,你说的Launch Images配置,是指在Assets.xcassets中拖入不同尺寸的图片,还是指在splash文件夹中放入适合尺寸的图片(同时添加UILuanchImages里的item)?
我试过配置Assets.xcassets作为启动页的图,结果第一个画面能显示启动图了,但几秒后又显示白色背景(有加载中图标的)的启动页画面,再之后才显示我的第一个页面。
(害我怀疑是不是有两个启动页,一个ios原生设置的,一个hbuilder代码中规定显示的)
如果是在splash文件夹中放入图片,那应该放入哪些尺寸的图片才能适配全呢?图片名称命名有规范吗?
2017-09-18 21:52
五叶神
命名没有规范,跟plist文件里面UILaunchImages加的名字对应就行了,具体哪个尺寸哪个我手机你得百度下了,我是ipad,就找了ipad的在UILaunchImages加上去了
2017-09-19 08:45
五叶神
回复 Vol561:可视化拖的图片那个确实会出现两个启动图,我也试过,冲突了
2017-09-19 08:46
Vol561 (作者)
我测试了一个早上了,删除了Assets.xcassets中配置的启动图,只使用UILaunchImages,把各种尺寸的启动图都放入splash文件夹了,也配置了UILaunchImages中的item
{1242, 2208} {750, 1334}{320, 480}{640,1136}{640, 960}{768, 1004}{768, 1024}{1536, 2008}{1536, 2048}{768,1024}
这样格式的配置:
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>640-960</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{640, 960}</string>
</dict>
图片就直接命名为:640-960.png
但测试结果 还是如我问题截图那样。。。
好心塞,想找块砖头撞一撞
2017-09-19 11:55
Vol561 (作者)
问题解决了,谢谢!
原来是路径问题,我把启动图 放到根目录下,而不是放在splash下,在原来的基础上加上如下图片:
Default-Portrait@2x~ipad.png (15362008)
Default-Portrait~ipad.png (7681004)
Default-Portrait7@2x~ipad.png (15362048)
Default-Portrait7~ipad.png (7681024)
在UILaunchImages中加入:
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>Default-Portrait</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{768, 1004}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>Default-Portrait7</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{768, 1024}</string>
</dict>
就可以了,撒花~
2017-09-19 12:55
五叶神
我晕死,你一直放在你自己的unpackage文件夹?不是替换默认的splash里面的?
2017-09-20 08:55
Vol561 (作者)
不是放在unpackage文件夹中,我是参考“iOS创建最精简离线打包工程”,在新建的ios工程中 创建了一个splash文件夹(就像ios离线打包的demo HBuilder-Hello那样),再把文件夹引用到工程中。
后来发现UILaunchImages好像根本找不到图片,发现在hbulider云打包出来的ipa,启动图都是在根目录下的,我就去掉了ios工程中的splash文件夹,直接把图片放在根目录,就可以了。
或者是我其他地方步骤有误导致的问题吧,不过现在这样就可以了,还是把结果写出来,说不定有其他人是一样的情况,可以参考
2017-09-20 09:23
五叶神
....原来如此,因为我是直接替换的,不是新建的,HBuilder-Hello下载下来,然后替换文件,只有配置文件没有替换,其他的改改,替换图标启动图就可以了,很简单,你搞复杂了,哈哈
2017-09-20 09:35
xhq
回复 Vol561:请问UILaunchImages这个东西在哪里,我用的是xcode9.2?
2018-01-11 17:03