代码之家  ›  专栏  ›  技术社区  ›  nickthedude

关于运行4.x的老式手机上视网膜显示资产的问题

  •  2
  • nickthedude  · 技术社区  · 15 年前

    所以我正在为4.x设备构建一个应用程序,我想知道我是否可以只使用一组双分辨率的资产,而不是一组带有@2x ID的资产和另一组没有@2x ID的资产。

    基本上我想问的是,旧的3G和3GS能否只使用@2X资产?和他们做正确的事?

    有人对此有经验吗?

    谢谢

    2 回复  |  直到 15 年前
        1
  •  1
  •   mohsenr    15 年前

    从技术上讲,它们可以,前提是要确保它们的缩放方式正确(例如,如果是图像视图,则设置为向上/向下缩放)。

    但是,在大多数情况下不推荐使用它,主要是因为它会变慢,使用更多的资源,并缩短电池寿命。同样,取决于你的资源,但是按2倍比例缩小的艺术品与为新尺寸重新取样的艺术品质量不同。

        2
  •  2
  •   xmr    15 年前

    最好使用两组资源,一组用于高分辨率视网膜显示器,另一组用于旧显示器。缩小@2X图形的尺寸看起来不好看,会影响性能,尤其是在2G iPod触摸屏上。

    旧设备 可以 使用@2X,但据我所知,您需要:

    1. 设置uiImageView以缩放图像以适应。
    2. 硬编码图像引用新图像。
    3. 期望在非视网膜设备上的图像质量较差和性能较慢。

    总的来说,最好提供两份图像副本, “鲍勃PNG” “BOB@ 2X.PNG” 然后在代码中引用它们 “鲍勃PNG” .

    铌。对于ios4,您可以引用没有文件结尾的图像,因此 “鲍勃” 可以,但是这与运行IO4之前版本的设备有兼容性问题:找不到图像。因此,为了获得最大的兼容性,如果您打算同时部署到ios4和ios3.x,请包括文件结尾。