迁移现有应用程序以支持Adaptive Layout

时间:2015-02-21 13:31:11

标签: xcode ios8 size-classes adaptive-layout

我已阅读有关自适应布局的博客,我已经做了一些教程,以便在实践中看到它。我现在想尝试迁移现有的iOS应用程序以支持Adaptive Layout / Size Classes。 在互联网上,现在有很多关于自适应布局的内容,博客,教程等。但它们都是基于建立一个新项目。我似乎无法找到关于如何迁移现有应用程序的某种分步指南。首先采取哪一步,在哪里寻找第二步,替换哪些代码(f.e​​.initWithFrame)。 在迁移现有应用时,有人知道某种指南吗? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

应采取以下步骤:

首先,要在现有应用中采用自适应布局和通用故事板,您需要将现有的故事板转换为通用故事板 - 可以处理任何屏幕大小的界面的故事板。 打开故事板并转到信息面板,同时选中使用自动布局使用大小类框。

其次,您需要启用 Fulscreen Mode

根据Apple的说法: 在运行时,系统会查找故事板启动屏幕文件,以便系统知道您的应用程序支持iPhone 6屏幕大小,包括应用程序包中的故事板启动屏幕文件 如果存在此类文件,系统会假定您的应用程序明确支持iPhone 6和6 Plus并以全屏模式运行。

转到新文件 ...,将新文件添加到您的应用中。在 iOS>用户界面,有一种名为启动屏幕的新文件类型,可为您的应用添加新的启动屏幕。 最后,转到项目的常规设置,并为启动屏幕文件字段选择新的xib文件。

编辑:

您还可以将应用图标启动图片迁移到资产目录。 转到项目的常规设置,然后单击使用资产目录以获取应用程序图标源。 Xcode会要求您将应用程序图标迁移到资产目录,并迁移现有的启动映像。

注意:如果您仍然支持iOS 7和/或更早版本,则仍需要提供4英寸的启动图像。如果不这样做,您的应用将以3.5“模式显示。

答案 1 :(得分:0)

据我所知,迁移您的应用以支持自适应布局/大小类很可能会启动一个新项目。

按照迁移应用的步骤进行操作。

  1. 在最新的Xcode中打开您的项目。
  2. 在情节提要中选择视图控制器。
  3. 在“属性”检查器中,选择“大小”以推断。您的视图控制器将以方形尺寸显示。
  4. 现在根据您需要设置约束的大小类。
  5. 来到代码,您需要覆盖方法

    - (void)updateConstraintsForTraitCollection:(UITraitCollection *)collection
    

    根据大小等级,您需要以编程方式设置约束。

    以下是示例代码。

    - (void)updateConstraintsForTraitCollection:(UITraitCollection *)collection
    {
        if (collection.verticalSizeClass == UIUserInterfaceSizeClassCompact) {
            //constraints for this specific class will go here
        } else {
            //default constraints
        }
    
    }
    

    在此过程中,您唯一要克服的是设置UI。除此之外,一切都像是开始一个新项目。

    希望这会对你有所帮助。 :)