让我的应用程序支持 iPhone 5 [关闭]

Posted

技术标签:

【中文标题】让我的应用程序支持 iPhone 5 [关闭]【英文标题】:Making my app support iPhone 5 [closed] 【发布时间】:2013-01-22 22:25:57 【问题描述】:

我无法让我的应用程序在 iphone 5 上看起来不错,甚至无法合理呈现,这简直是一团糟。我不知道从哪里开始。滚动视图位于随机位置,应用底部有一个灰色条。我试图通过在故事板中移动东西来让它工作,但这会破坏旧屏幕。我也打开了自动布局,但随后该应用程序在 ios5 上无法运行。任何帮助将不胜感激。干杯

【问题讨论】:

【参考方案1】:

一般来说,如果您的弹簧和支柱(或UIAutoresizingMasks)设置正确,那么为 iPhone 5 启动应该不会有太多额外的工作。此外,如果您使用诸如[someView setFrame:CGRectMake(hardCodedX, hardCodedY, hardCodedWidth, hardCodedHeight)]; 之类的代码行,那么您只是在为失败做好准备。您需要重构此代码以使用相对于设备(或 superView)屏幕尺寸的位置。对于使用 spring 和 struts 无法完成的复杂子视图布局,您可以覆盖 layoutSubviews 并在那里进行复杂的设置。

如您所说,如果您支持 iOS 5,则不能选择自动布局。

您可以在 Storyboard 中找到弹簧/支柱。我在这里用红色勾勒出来:

如果您将鼠标悬停在带有各种工字梁的框上,您可以模拟所选视图将如何调整大小(您将看到框右侧的图像随着它的增长和缩小而动画)。

为每个单独的视图设置了弹簧和支柱。这些可以使用自动调整大小的蒙版以编程方式设置。对于盒子两侧的 4 根工字梁,实线基本上表示“将视图锚定在此位置”。对于中间的两条垂直条,实线表示“视图在这个方向上是灵活的”(无论是宽度还是高度)。

弹簧和支柱都是相对于视图的父视图。

例如,如果您希望视图被锚定到其父视图的顶部,但随着父视图的增长而增加其高度(例如,如果屏幕比 iPhone 5 更高,则视图控制器的主视图会增长),你会希望顶部的工字梁是一条实线(将我锚定到顶部),而盒子内的垂直线是实线(让我的高度与我的超级视图一起增长)。现在,当您将鼠标悬停在该框上时,您会看到右侧图像的顶部已锚定,但在垂直方向上会增大和缩小。

【讨论】:

【参考方案2】:

一般来说,让您的应用在新的 iPhone 5 屏幕上呈现出来是很容易的。即使没有一点代码,也可以在使用情节提要时通过几个简单的步骤来完成。

    不要紧张 如果您想保持向后兼容性(iOS 5 及更低版本),请确保在文件检查器中禁用自动布局: 在您的uiviewcontroller/情节提要中选择一个需要为 iPhone 5 屏幕调整大小的项目。然后选择尺码检查器: 请注意标题为“自动调整大小”的带有红线的白框(我相信这些是 jrnstone refers to) 的弹簧/支柱。 点击外框红线会告诉iOS在屏幕大小不同或方向改变时如何对齐对象。内框将告诉 iOS 如何调整对象的大小。示例框显示了该对象的大小。 Xcode 还允许您通过单击 Storyboard Editor 右下角的 Form Factor 按钮来预览应用在不同屏幕尺寸上的外观:

【讨论】:

以上是关于让我的应用程序支持 iPhone 5 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Xcode 6 中仅针对 iPhone 5 和 4 进行应用设计

更新 ios Appstore 应用程序以仅允许 iPhone

将 iPad 支持添加到 iPhone 项目:通用与两个独立的应用程序? [关闭]

如何让我的应用支持多任​​务处理

iPhone模拟器的屏幕截图应用程序[关闭]

如何为我的 Flash 页面创建 iPhone 应用程序? [关闭]