0

我已经阅读了有关自适应布局的博客,并且我已经完成了一些教程以在实践中看到它。我现在想尝试迁移现有的 iOS 应用程序以支持自适应布局/大小类。在互联网上,现在有很多关于自适应布局的文章、博客、教程等。但它们都是基于建立一个新项目。我似乎无法找到有关如何迁移现有应用程序的分步指南。首先要采取哪一步,在哪里寻找第二个,要替换哪些代码(fe initWithFrame)。有人知道迁移现有应用程序时要遵循的某种指南吗?提前致谢。

4

2 回答 2

0

应采取以下步骤:

首先,要在现有应用程序中采用自适应布局和通用故事板,您需要将现有故事板变成通用故事板——一个可以处理任何屏幕尺寸界面的故事板。打开故事板并转到信息面板并选中 Use Auto LayoutUse Size Classes框。

其次,您需要启用全屏模式

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

通过转到新文件...向您的应用程序添加一个新文件。在iOS > User Interface中,有一个名为Launch Screen的新文件类型,它为您的应用程序添加了一个新的启动屏幕。最后,转到项目的常规设置并为字段Launch Screen File选择新的 xib 文件。

编辑:

您还可以将您的应用程序图标启动图像迁移到资产目录。转到项目的常规设置,然后单击Use Asset Catalog for App Icons Source。Xcode 将要求您将应用程序图标迁移到资产目录并迁移现有的启动图像。

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

于 2015-03-05T09:29:02.467 回答
0

据我所知,迁移您的应用程序以支持自适应布局/大小类最有可能开始一个新项目。

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

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

来到你需要重写方法的代码

- (void)updateConstraintsForTraitCollection:(UITraitCollection *)collection

根据您需要以编程方式设置约束的大小类。

这是示例代码。

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

}

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

希望这对您有所帮助。:)

于 2015-03-21T05:57:52.830 回答