如何让Apple的@ 2x视网膜图像命名约定适用于具有rails后端的应用程序?

use*_*187 5 iphone ruby-on-rails ios retina-display

我正在使用本机应用程序的rails后端.

在本机应用程序中,使用@2x命名约定自动加载视网膜(高分辨率)图像.

例如,您可以调用两个图像image.pngimage@2x.png(同一图像的更高分辨率版本).如果应用程序在iPhone 3gs上运行,image.png则会自动加载.如果该应用程序在iPhone 4上使用,image@2x.png将自动加载.

@2x根据我在行动中阅读和看到的内容,此约定不适用于非本机Web应用程序.

Apple的@2x约定似乎不适用于Rails后端提供的图像.我知道媒体查询可以帮助解决这个问题,但我想知道是否有一些工作可以让iPhone 4自动@2x从Web应用程序加载图像而不是非高端版本.

Jak*_*b W 4

我建议如下:

在您的 Rails 应用程序中,上传图像时创建不同版本。

然后在 iOS 应用程序中,您可以查看属性scaleUIScreen确定要加载哪个图像:

if ([[UIScreen mainScreen] scale] == 2.0f){
  //load retina image
} else {
  //load non-retina image
}
Run Code Online (Sandbox Code Playgroud)