【问题标题】:Using images in iPhone (normal and @2x)在 iPhone 中使用图像(普通和@2x)
【发布时间】:2012-11-01 00:41:32
【问题描述】:

所以我正在构建一个使用图像作为按钮的应用程序。我提供了普通图像和@2x 图像,但是我不完全确定应该使用哪一个。如果我使用 normal.png 或 normal@2x.png,基本上没有区别。但是我读到使用@2x 会占用更多内存,所以我觉得我不应该这样做。但是,当我在 iPad 模拟器中启动我的应用程序时,使用正常大小的图像看起来很糟糕,因为它需要调整它们的大小。当我使用@2x 图像时,它看起来很正常。那么关于我应该如何处理这个问题有什么建议吗?

【问题讨论】:

    标签: iphone ios image uiimage


    【解决方案1】:

    您应该在应用程序中同时包含带有.png@2x.png 的图像,以支持视网膜设备。这为您的用户提供了良好的用户体验。

    在您的整个代码中,您没有明确指定@2x 后缀,因为操作系统会为您处理这些问题。例如,如果您在项目中包含image.pngimage@2x.png,并通过以下方式访问它:

    UIImage* image = [UIImage imageNamed:@"image"];
    

    操作系统将为您选择正确的图像(.png 用于非视网膜设备,@2x.png 用于视网膜设备)。只要您遵循一般的内存管理准则,您就不必担心每个内存使用情况的差异。

    【讨论】:

    • 好的,我明白这一点,但是当我在 ipad 模拟器上尝试我的应用程序时,使用图像看起来很糟糕,使用 image@2x 看起来还不错。为了理解,我的意思是当我将它运行到 2x 时。那怎么样?
    • 您确定正常图像的尺寸正确吗? image.png 应该是正确的大小,以便在标准分辨率设备上看起来正常和正确,而 @2x 应该具有两倍的分辨率,以便在视网膜设备上看起来正确和正常。
    • 是的,这完全正常。由于 2 * 2,2 倍大我的意思是 4 倍。它在视网膜 iphone 上看起来不错,但在 ipad 上它不能缩放到 2 倍
    • “但是在 ipad 上它不能缩放到 2x”,是的,它可以,存在 Retina iPad 设备。在 iOS 模拟器中将您的设备类型更改为“iPad (Retina)”。
    • 我的意思是在普通 ipad 上,当你按下 2x 按钮时,它看起来很奇怪。
    【解决方案2】:

    你应该:

    • 在您的应用程序中包含常规和@2X 图像。
    • 完成应用后,请检查其内存占用情况(应用是否内存不足或频繁收到内存警告?压缩后,应用是否过大且下载时间过长?)
    • 如果内存存在问题,请开始删除 @2X 资产。您应该根据资产的大小以及调整大小后看起来更糟的程度来消除资产。例如,全屏纯色背景在调整大小时看起来不会有太大不同,并且可能会节省一些内存。一个包含大量复杂线条的小按钮在调整大小但不占用大量 RAM 时会看起来明显更糟。

    【讨论】:

      猜你喜欢
      • 2011-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多