首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持iOS8和iOS7的设计应用程序

支持iOS8和iOS7的设计应用程序
EN

Stack Overflow用户
提问于 2014-10-10 07:12:29
回答 1查看 1.5K关注 0票数 10

假设我想设计一个主细节应用程序,Xcode6主细节项目模板的通用应用程序包括UISplitViewController和splitViewController是新的iOS8。我也想支持iOS7的应用程序。

总体而言

  1. 使用Xcode6故事板同时支持iOS8和iOS7的通用应用程序的最佳设计方法是什么?
  2. 对于不同的操作系统版本,使用单独的故事板更好吗?
  3. 我们应该遵循哪些最佳实践来使应用程序与这两个操作系统兼容?
EN

回答 1

Stack Overflow用户

发布于 2014-11-14 19:45:20

创建这样一个应用程序的“最佳方式”很可能取决于你的应用程序到底需要做什么。根据需要的任何特殊行为,某些方法会比其他方法更好。

但是在Xcode 6中使用一个通用故事板是绝对可能的,它使用的是Size类,并且仍然以iOS 7为目标,包括iPhone和iPad,使用UISplitViewController。我成功地做到了这一点。要确保iOS 7和8的正常工作,需要做大量的工作。在执行各种新的自适应segues时,您必须稍微小心一点,因为这是iOS 7和8之间的一个巨大差异。例如,当您有一个弹出器时,需要为两个不同的OSes做一些工作,处理松开的海角需要一些特殊的处理,这将需要进行大量的测试。致力于测试iPhone 6加法-在景观它将显示主屏幕和细节,但你可以控制这一点。

在经历了这段经历之后,我宁愿实现一个单一的故事板,而不是两个故事板,每个操作系统都有一个故事板,并且绝对不要为每个操作系统创建一个故事板,然后为每种设备类型创建一个故事板。

您将需要阅读SDK兼容性指南以了解如何检测API可用性。如果您在iOS 7上实现了一个不存在的API,应用程序就会崩溃,所以只有当该函数存在于运行该应用程序的操作系统时,您才需要运行该代码。例如,您可能希望使用新的UIBlurEffect API,但iOS 7中不存在这种情况。了解弃用意味着什么,了解iOS 8中的变化将有很大帮助。例如,拒绝使用旋转API来支持Size Class特性集合,但是这些特性集合在iOS 7中是不可用的,因此您需要继续使用不推荐的旋转API。

也可以看看今年的一些WWDC视频。他们有几个视频来讨论新的自适应语言和通用故事板。请注意,这些故事板与iOS 7向后兼容,但是iOS 7没有提供一些大小类。请参阅这个问题和我提供的答案以获得更多信息。前几年的WWDC视频也讨论了如何支持多个OSes,渐进增强等。

当然,当您有问题/问题时,堆栈溢出是一个很好的资源。我在过去几个月里发布的很多问题都与这个主题有关,比如如何修改UISplitViewController行为,如何获得对OSes的支持,使用单一的故事板和新的自适应设置等等。您可能希望阅读这些内容,以了解在以同样的方式开发应用程序时会遇到什么。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26293829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档