iOS 7 UINavigationBar Retina 图像大小

Posted

技术标签:

【中文标题】iOS 7 UINavigationBar Retina 图像大小【英文标题】:iOS 7 UINavigationBar Retina image size 【发布时间】:2014-04-21 01:57:48 【问题描述】:

这里有一张图片 backgroundTest1@2x.png,大小为 640 x 128,红色部分为 320 x 64。

但是当我像这样设置图像时:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"backgroundTest1@2x.png"] forBarMetrics:UIBarMetricsDefault];

我在导航栏中只看到红色:

这里发生了什么,我应该在我的 ios 7 / 仅视网膜应用中使用什么大小和名称?如果应该包括“@2x”,那么为什么 320 x 64 是“有效”的图像尺寸?

【问题讨论】:

你不需要@2x.png,如果你把它取下来会是什么样子? 它现在可以正常工作了,谢谢。我想我不应该从字面上理解我在bendodson.com/weblog/2013/10/16/… 中读到的“你的应用程序包中只需要@2x 个文件”这句话 我会声称这是一个答案哈!也为您添加了更多信息 - 文档解释了一切:) 【参考方案1】:

您不需要@2x.png,因为系统会根据-[UIScreen scale] 为您挑选正确的图像(自iOS 4 起也不再需要png)。 请参阅docs (+[UIImage imageNamed:]) 了解更多信息!

【讨论】:

以上是关于iOS 7 UINavigationBar Retina 图像大小的主要内容,如果未能解决你的问题,请参考以下文章

在 ios 7 中如何增加 UINavigationbar 的大小

覆盖 UINavigationBar 时 iOS 7 状态栏变黑

防止 iOS 7 UINavigationBar 使用 UIAppearance 为 barTintColor 更改设置动画

iOS6 和 7 的 UINavigationBar 背景图像

iOS 7 - 使 UINavigationBar 扩展到屏幕顶部

iOS 7 UITableView 在 UINavigationBar 下扩展