【问题标题】:iOS - Retina display assets not working?iOS - 视网膜显示资产不工作?
【发布时间】:2012-05-02 22:05:13
【问题描述】:

我在 iPhone 4 上运行我的应用程序,导航栏和我的所有标签都非常模糊(非视网膜)。大多数模糊的 ui 元素是 iOS 默认 UI。

当我在手机上运行其他应用程序时,它们看起来要好得多,您可以很容易地看到差异。

我是否需要更改任何项目设置才能在我的应用中使用更高质量的资产?

编辑:

我不关心我自己的资产,我现在关心的是IOS中的默认UI元素

编辑:

我在主 UINavigationController 中添加了一个阴影,为了提高阴影动画的性能,我将 ShouldRasterize 设置为 YES,删除这行 xode 可以解决问题

[self.navigationController.view.layer setShouldRasterize:YES];

【问题讨论】:

  • 将@2x 后缀添加到您的图像(例如 Icon.png 57x57 和 Icon@2x.png 114x114)
  • 你能保证是软件而不是你的眼睛吗?
  • 是的,区别很明显,我也让别人确认过
  • 一切都更新到最新版本了吗? (Mac、Xcode、iPhone 等)
  • 新建项目会出现这种情况吗?

标签: ios retina-display


【解决方案1】:

如果你设置了应该光栅化你必须记住设置你的光栅化比例。

[self.view.layer setShouldRasterize:YES];
[self.view.layer setRasterizationScale:[UIScreen mainScreen].scale];

您必须记住,光栅化会将图层转换为存储在内存中的简单位图,以在复杂动画期间节省 CPU 周期。但是,如果您使用的是 Retina 设备,则需要确保以两倍的比例保存它,因为屏幕的像素是 4 倍。

【讨论】:

  • 谢谢,这是救命稻草! ;)
  • 哈哈,很高兴能帮上忙。快乐编码:)
【解决方案2】:

您是否制作了带有@2x 后缀的双倍尺寸图像?

例如 navBarBackground.png & navBarBackground@2x.png(最后一个是第一个的两倍)

http://developer.apple.com/library/ios/DOCUMENTATION/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages.html#//apple_ref/doc/uid/TP40006556-CH14-SW16

【讨论】:

  • 我认为他的问题更多是关于 UIKit 成员,而不是外部图像。
  • 然而,如果设备是视网膜设备,状态栏和所有其他原生设计都会自动在视网膜上,无论应用程序是否支持视网膜。
  • 我不使用任何自定义图像,整个应用程序使用默认 UI 元素
  • 好的,我的下一个建议是让您检查您是否正在为 iOS5、4、3 等构建。但是,这不应该有任何区别。另外...上传你的结果截图。
  • 我的 Base SDK 是 5.1,我的 iPhone 也运行 5.1。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-05
  • 1970-01-01
  • 2015-08-22
  • 1970-01-01
  • 2014-03-19
  • 1970-01-01
  • 2011-03-31
相关资源
最近更新 更多