gpt4 book ai didi

ios - 更新为 iPhone 5 制作的 XIB 以与 iPhone 6 和 iPhone 6 Plus 一起使用

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:38 27 4
gpt4 key购买 nike

我在我的应用中创建了几个没有自动布局和大小类的 xib。

当我在实际设备上运行应用程序时,它在 iPhone6 上运行良好,但在 iPhone6 Plus 上, View 占据了屏幕的一侧。

所有 xib 上的元素都设置为使用自动调整大小:

enter image description here

添加有关如何构建我的 xib 的信息:自动调整大小已设置为如下所示,以便在 iOS < 7.0 的 iPhone 上使用应用程序时, View 中的所有对象都保持在同一位置,其中背景图像(覆盖整个 View )低于状态栏;在 IOS7 及更高版本中,背景图像在状态栏下方可见。这是在应用程序中的所有 View 上完成的。

问题是无论我如何尝试,包括自动布局和尺寸类到 xib 都会搞砸一切。有什么简单的方法可以将我的 View 转换为使用自动布局,以便可以更改相同的 View (专为 iPhone5 分辨率 | iPhone 4 英寸设计),以便它们在 iPhone6 Plus 分辨率上显示相同?如果自动调整大小保持其设置的方式,那就太好了。

我已经尝试使用多种技术和建议的约束,但图像有时只会增加高度(不保持纵横比),背景图像会粘在屏幕的一侧,标签不会增加大小。 iPhone6 和 6 Plus 分辨率的资源也已添加到项目中。

最佳答案

这是我在需要处理相同问题时发现的:

1) 如果不想使用Autolayout,可以使用缩放模式。 Apple 在 iOS8 上添加了这个聪明的小技巧,使所有以前的 iPhone 5 应用程序无需任何修改即可在 iPhone 6 上运行。要使用它,您不得在您的项目中设置具有 iPhone 6 分辨率的启动图像属性(但您需要为 iPhone 5 设置图像,这样它才能知道您支持 iPhone 5,并且您必须将启动屏幕文件留空)。这样做,iOS 将在 iPhone 6/6+ 上运行您的应用程序时使用缩放模式,并且您的所有 View 都将正确缩放以与其屏幕完美配合。这是可能的,因为新屏幕保持了 iPhone 5 屏幕的纵横比,所以 iOS 基本上只需要将你的 pos/size 乘以正确的屏幕尺寸比例。 不过,如果您将 iPhone 6 特定分辨率图像设置为某些 XIB,我不确定这是否仍然有效。

这个解决方案基本上意味着您选择忽略 iPhone 6 的存在并继续为旧设备编程。

2) 如果你真的想放弃自动缩放模式并为 iPhone 6 制作一个更新的应用程序(Apple 希望你这样做),你可以执行以下任一操作:

  • 使用自动布局。这是 Apple 希望每个人都使用的标准,虽然一开始有点难以驯服,但你会非常喜欢它。不过,我现在已经放弃使用 Autolayout,因为我在尝试在 iOS6 和 7 上运行我的应用程序时发现了一些问题,我现在不能不支持这些问题(您可以阅读更多相关信息 here)。

  • 使用两个 XIB,一个用于 iPhone 4/4s/iPod Touch 4,一个用于 iPhone 5/5s/6/6+。请注意,我建议您为 Apple 设计的每个设备纵横比保留一个 XIB。由于宽高比对于使用给定 XIB 的设备是相同的,因此您可以使用自动调整大小的 mask 来随意放大 View 。一切都会保持正确的纵横比。

我现在使用第一个建议(缩放模式),而我在 iOS6 和 7 上运行的自动布局问题没有得到解决。

关于ios - 更新为 iPhone 5 制作的 XIB 以与 iPhone 6 和 iPhone 6 Plus 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28006896/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com