热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

storyboard苹果启动图_iOS设置启动图的两种方式和bug汇总

前段时间一直在折腾启动图的设置,忙到最后发现居然是Apple的锅。。。先讲一下正常的设置启动图的流程,有两种方式,一种是LaunchIma

前段时间一直在折腾启动图的设置,忙到最后发现居然是 Apple 的锅。。。

先讲一下正常的设置启动图的流程,有两种方式,一种是LaunchImage的方式,另一种就是LauchScreen.storyboard的方式。见下图:

其一:

其二:

以下是遇到的问题:

1.单独使用 LaunchImage 来设置启动图时:

①iOS9 系统的手机,在 APP 从后台通过 openURL 拉起到前台时,不会出现启动图;

②但 iOS7 和 iOS8 正常。

2.单独使用 LaunchScreen.storyboard 来设置启动图时:

①iOS7 不支持该方式;

②iOS8 系统会导致 APP 在从后台被拉起到前台时,先出现黑屏再出现启动画面的情况,

③iOS9 系统,如果更换过启动图, APP 在后台被拉起到前台时出现的启动图不会更新。

3.使用 LaunImage 和 LaunchScreen.storyboard 混用的方式,问题如下:

①iOS8 系统会导致 APP 在从后台被拉起到前台时,先出现黑屏再出现启动画面的情况;

②iOS9 系统,如果更换过启动图, APP 在后台被拉起到前台时出现的启动图不会更新。

补充:

另如果某个版本使用了 LaunchScreen.storyboard 方式来设置启动图后,后续的升级版本不可再更改为 LaunchImage 的方式,如果有更改,则启动图依然会使用之前 LaunchScreen.storyboard 里的内容。见 stackoverflow 的这个问题。

关于 iOS8 下 APP 从后台拉起到前台会先短时间黑屏的问题,测试发现微信和微博也同样存在。

解决方案:

如果可以像微信和微博一样,容忍iOS8系统下拉起时的短暂黑屏,而且确定以后不会更改启动图,也不会再转回使用LaunchImage来设置启动图的方式,那么就可以使用LaunchScreen.storyboard这种方式来设置启动图,否则还是乖乖使用LaunchImage这种方式吧,而且,如果你的应用需要支持iOS7,那么也要使用LaunchImage方式,当然你可以在应用中同时使用两种设置启动图的方式来兼容iOS7和以后的系统。

两种启动图方式同时设置见下图:



推荐阅读
  • 在移动端开发中,多点触控手势是提升用户体验的重要手段。然而,目前只有iOS浏览器原生支持手势事件,其他设备需要通过touchstart、touchmove和touchend等基础事件进行自定义实现。本文将详细介绍如何在Vue项目中实现多点触控手势。 ... [详细]
  • EST:西湖大学鞠峰组污水厂病原菌与土著反硝化细菌是多重抗生素耐药基因的活跃表达者...
    点击蓝字关注我们编译:祝新宇校稿:鞠峰、袁凌论文ID原名:PathogenicandIndigenousDenitrifyingBacte ... [详细]
  • 近期,微信公众平台上的HTML5游戏引起了广泛讨论,预示着HTML5游戏将迎来新的发展机遇。磊友科技的赵霏,作为一名HTML5技术的倡导者,分享了他在微信平台上开发HTML5游戏的经验和见解。 ... [详细]
  • 微信小程序详解:概念、功能与优势
    微信公众平台近期向200位开发者发送了小程序的内测邀请。许多人对微信小程序的概念还不是很清楚。本文将详细介绍微信小程序的定义、功能及其独特优势。 ... [详细]
  • 在使用Eclipse进行调试时,如果遇到未解析的断点(unresolved breakpoint)并显示“未加载符号表,请使用‘file’命令加载目标文件以进行调试”的错误提示,这通常是因为调试器未能正确加载符号表。解决此问题的方法是通过GDB的`file`命令手动加载目标文件,以便调试器能够识别和解析断点。具体操作为在GDB命令行中输入 `(gdb) file `。这一步骤确保了调试环境能够正确访问和解析程序中的符号信息,从而实现有效的调试。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 如何取消闪送订单及申请退款
    本文将详细介绍如何在闪送App中取消订单以及退款的相关流程。无论是使用支付宝、微信还是银联卡支付,我们都会提供详细的步骤和注意事项,帮助用户顺利完成操作。 ... [详细]
  • 本文讲述了一位80后的普通男性程序员,尽管没有高学历,但通过不断的努力和学习,在IT行业中逐渐找到了自己的位置。从最初的仓库管理员到现在的多技能开发者,他的职业生涯充满了挑战与机遇。 ... [详细]
  • 微信小程序中的ActionSheet和Picker组件详解
    本文详细介绍了微信小程序中ActionSheet和Picker组件的使用方法及示例代码,帮助开发者更好地理解和应用这些组件。 ... [详细]
  • 红米手机如何高效传输照片至电脑
    本文介绍了一种简单有效的方法,将红米手机上的原图照片传输到电脑上。这种方法无需额外的硬件或软件,仅依赖于微信的收藏功能即可实现。 ... [详细]
  • 自动驾驶中的9种传感器融合算法
    来源丨AI修炼之路在自动驾驶汽车中,传感器融合是融合来自多个传感器数据的过程。该步骤在机器人技术中是强制性的,因为它提供了更高的可靠性、冗余性以及最终的 ... [详细]
  • 随着全球对青少年编程能力的重视,中国也在积极培养未来的科技人才。本文通过具体的数学问题,展示如何使用 C++ 编程来解决这些问题,帮助青少年提高编程兴趣和能力。 ... [详细]
  • 本文通过对快速排序和堆排序的算法效率进行详细对比分析,探讨了快速排序在实际应用中为何能表现出更高的性能。快速排序通过分治策略实现高效排序,其平均时间复杂度为O(n log n),而堆排序虽然最坏情况下的时间复杂度也是O(n log n),但在实际运行中由于频繁的数据交换和维护堆结构的操作,导致其性能不如快速排序。此外,快速排序在缓存友好性和并行处理方面也具有明显优势,使其在现代计算机架构中表现更为出色。 ... [详细]
  • 【问题】在Android开发中,当为EditText添加TextWatcher并实现onTextChanged方法时,会遇到一个问题:即使只对EditText进行一次修改(例如使用删除键删除一个字符),该方法也会被频繁触发。这不仅影响性能,还可能导致逻辑错误。本文将探讨这一问题的原因,并提供有效的解决方案,包括使用Handler或计时器来限制方法的调用频率,以及通过自定义TextWatcher来优化事件处理,从而提高应用的稳定性和用户体验。 ... [详细]
  • 深入解析 HTML 子元素的 margin-top 样式为何会影响其父元素布局的原因
    当在页面中的某个元素上设置 `margin-top` 样式时,如果该元素存在父元素,`margin-top` 的效果可能会传递到父元素,导致子元素的顶部边缘与父元素的顶部边缘重叠。这种现象称为外边距塌陷,是 CSS 布局中的一个重要概念。本文将深入探讨这一现象的成因及其对父元素布局的影响,并提供解决方案以避免不必要的布局问题。 ... [详细]
author-avatar
小超201209
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有