调整为 Iphone 6 设计的应用程序大小以在 iphone 5 秒内正确缩放

Resize app designed for Iphone 6 to scale correctly in iphone 5s

好的,这就是我设计的 iphone 6 屏幕没有尺寸 类 和自动布局的应用程序的问题。 在情节提要中看起来像下面这样。如您所见,其模拟尺寸为 4.7 英寸。

当 运行在 iphone 6 台设备上明显运行时,它可以完美运行。 但是,当尝试 运行 在除 iphone 6 以外的其他设备中使用该应用程序时,它不会按比例缩放。

我的希望是,如果我删除 lanuch 屏幕图像,只保留 iphone 6 尺寸,它会缩放以适应其他屏幕,看起来就像 运行 在 [=45] 上一样=] 6 仅根据设备按比例放大或缩小。

我的启动屏幕现在看起来像这样

它确实缩放了应用程序,但它以错误的比例缩放了应用程序,使其看起来像这样被切碎了。

Iphone 5s版本的app是这样的 如您所见,它可以正确缩放,但与下面正确缩放的 iphone 6 版本相比,方面会出错。

这是一个 ipad 版本,看起来像 iphone 5s 版本缩放错误。

在我看来,缩放是有效的,因为我已经删除了除 4.7 显示器之外的所有启动图像 (iphone 6) 然而,问题似乎是它在缩放时保持了 iphone 5 的宽度使 iphone 6 的显示变宽。

我已尝试为所有设备添加启动图像,但问题是我需要使用自动布局和大小 类 才能使其正常工作。

有什么方法可以告诉缩放比例保持纵横比但使用 iphone 6 宽度和高度而不使用大小 类 等

为了让问题更简单。有什么方法可以缩放严格为 iphone 6 制作的应用程序,以便将大小调整为 iphone 5s/ipad?

非常感谢任何帮助!

如果您没有使用自动布局或大小 类,您唯一的希望是以编程方式单独更改 viewDidAppear 或 [=11] 中每个元素的 positions/size =] 你的 LoginViewController 方法。您还必须在方向更改时执行此操作(如果您的应用支持它)。

使用 Auto-Layout/Size 类 可以轻松避免很多工作!

好吧,删除其他启动图像的 "trick" 不起作用,正如您自己注意到的那样。这种自动缩放仅适用于 4" 到 4.7" 和 5.5",并且仅支持旧版本新设备上的应用程序,不用于一般用途 "I am too lazy to support all sizes" 用例.. ;-) 除此之外,您绝对应该支持本机分辨率。

因此,回答您的问题:您可以只使用自动布局。这绝对是首选方法 - 毕竟这正是它构建的用例。

或者,如果您真的不想或不能使用自动布局,您要么需要确保正确设置自动调整大小掩码(例如 "flexible width" 在需要 grow/shrink 水平等),或在代码中手动调整框架(这部分违背了 IB 的目的)。