iPhone - iPhone5 对现有应用程序的支持?

Posted

技术标签:

【中文标题】iPhone - iPhone5 对现有应用程序的支持?【英文标题】:iPhone - iPhone5 support to existing app? 【发布时间】:2012-10-22 07:25:15 【问题描述】:

我是否必须为 iPhone5 放置一个单独的 xib,如 1 为 iPhone5 和 1 为 iPhone4 和更少这样做似乎是非常糟糕的做法。 任何人都可以对此有所了解吗? iPhone5也使用自动布局?我不明白 Autolayout 的工作原理。

【问题讨论】:

raywenderlich.com/20881/beginning-auto-layout-part-1-of-2 ***.com/questions/12702546/… 【参考方案1】:

观看有关该主题的 WWDC 2012 视频。三个 1 小时的视频教会了我将应用迁移到自动布局所需的所有知识。

https://developer.apple.com/videos/wwdc/2012/

【讨论】:

【参考方案2】:

如果您的主要问题是新的屏幕尺寸,请确保添加 Default-568h@2x.png。 您的应用需要这张 640 × 1136 的图像才能利用 iPhone 5 的全屏。

也用

[[UIScreen mainScreen] applicationFrame]

获取当前屏幕的宽度和高度。不要硬编码 320 宽 480 高。

CGRect aFrame = [[UIScreen mainScreen] applicationFrame]; width=aFrame.size.width; height=aFrame.size.height;

【讨论】:

这是有道理的,但正如我上面所说的,你不认为苹果会创造一些更容易的东西吗? 更简单?这很容易,雷。 Ray 总是更好地使您的代码更智能以克服诸如此类的简单障碍。不要依赖苹果让它变得更容易。会欣赏 1 或支票 Ray。【参考方案3】:

单独的 xib 文件:是的,是可能的方法之一。

自动布局:http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2

(谷歌第一击)。

【讨论】:

【参考方案4】:

我修改了我的应用程序以包含自动布局。老实说,如果我能更主动一些,我会在设计它们时就考虑到新的屏幕尺寸——我不会再犯这样的错误了!

你如何处理它实际上取决于你如何设计你的原始应用程序。

【讨论】:

【参考方案5】:

我发现并将帮助其他人: https://github.com/mindsnacks/UIImage-MSImageNamed568hSupport

使用它,我们可以为 iPhone5 加载 568h 大小的图像(如果存在 o.w)。加载普通图片很有帮助...

例子:

#import "UIImage+MSImageNamed568hSupport.h"
.
.
IBimgViewBG.image=[UIImage ms_imageNamed568hSupport:[NSString stringWithFormat:@"sample.png"]];
.
.

注意:在你的项目中包含这些图片

sample.png      // for earlier versions
sample-568h.png // for iphone5 

【讨论】:

伙计,你基本上和我在下面展示的一样。前两行代码是“const CGSize screenSize = [UIScreen mainScreen].bounds.size; const CGFloat screenHeight = MAX(screenSize.width, screenSize.height);”可以给我一个 1 :(

以上是关于iPhone - iPhone5 对现有应用程序的支持?的主要内容,如果未能解决你的问题,请参考以下文章

如何使应用程序的设计与 iPhone4/iPhone5/iPad 兼容?有啥捷径吗?

iOS 小部件在少数 iPhone5S 上不起作用

企业分发在 iPhone 4 上“无法下载应用程序”但在 iPhone5 上有效

iTunes Connect 上传应用程序仅适用于 4 英寸(iPhone 5、iPhone 5s)

在 iphone 5 和 iphone 6 中动态设置字体大小

旧应用程序在 iPhone5 上出现黑线