ios - 支持 iOS 6 时,LaunchImage 和背景图像未对齐 3.5"

标签 ios objective-c ios6 ios7

我一直在尝试将第一个 View 的启动图像和背景图像设置为无缝过渡。当我将目标build设置为 iOS 7 时,完全没有问题......使用 Assets 目录图像完美过渡。但是,当我将构建目标设置为 iOS 6.0 或 6.1 时,4"屏幕 View 会将背景图像向上推,而 3.5"则很好。

我已经做了我能想到的所有事情。我正在使用以下方式以编程方式设置背景图像:

[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"Background"]]];

我在 IB 中尝试了各种自动调整大小设置来调整 View ,但到目前为止没有任何效果。正如我所说,如果我将目标build设置为 iOS 7,它看起来不错,但将其设置为 iOS 6/6.1 时就不行了。

我在某处读到,如果您将build设置为 iOS 6,则永远不会使用 -h568@2x 图像(即使在 iOS 7 设备上运行),并且据我发现这是真的。如果我在 Photoshop 中调整 .png 以抵消 Background-h568@2x 图像的差异,则不会显示该更改。如果我对 Background@2x 执行相同操作,则该更改也会显示在 4"视网膜显示器上。

我很困惑。有没有办法确保 4"Retina 显示器使用正确的背景图像,同时仍以 iOS 6 为目标?

在此先感谢,如果我不清楚任何地方,请随时询问。

编辑:不,我宁愿不支持 iOS 6,但我别无选择。 :/

最佳答案

好的,我已经解决了。我认为这将是某种类型的编程解决方案,但我让它以另一种方式工作。

最大的问题是 Background-h568@2x.png 从未被使用过。 3.5"屏幕和 4"屏幕都使用 Background@2x.png。所以改变那个图像文件是行不通的。但是,很长一段时间以来,我都没有费心检查是否使用了 Default-h586@2x。在最后检查之后,它是,所以我最终编辑 LaunchImage 以匹配背景,而不是相反。我觉得很傻。然而, Assets 目录中没有使用 4 英寸视网膜显示图像的事实确实令人沮丧。

我已经使过渡无缝,但我不得不牺牲垂直居中的 Logo 来修复它。在 4"显示器上, Logo 高于我想要抵消背景图像被推送到的位置。哎呀。问题解决了,只是不像我希望的那样。

关于ios - 支持 iOS 6 时,LaunchImage 和背景图像未对齐 3.5",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22103580/

相关文章:

ios - AdMob 插页式错误 "Request Error: No ad to show"

ios - ios 中的算术和条件表达式求值器(包含字符串和值)

ios - 在 ViewController 的 loadView 中创建的自动调整 View 的 AutoLayout 约束

ios - iOS 6导航栏标题默认阴影效果去除方法

ios - 如何在 UISplitViewController 中向 Root View Controller 添加新的 subview

ios - 在 UiView 中添加标签

ios - 分段框架使 UIAlertController 因 NSInternalInconsistencyException 而崩溃

objective-c - 加载 xib 时出现 NSUnknownKeyException

iphone - 在 iPhone SDK 中创建一个空的 ABAddressBook?

ios6 - iOS 6 GKMatchRequest playersToInvite 失败,GKTurnBasedParticipant 中的 playerID 为 nil(适用于 iOS5)