即使在制作了@ 2x副本后,iOS图标也都很模糊

时间:2013-01-27 08:41:12

标签: ios user-interface icons retina-display

我让我的设计师为应用创建了所有图标,它们都很模糊。起初,我怀疑设计师,但我们最终从一个非常知名的iOS应用程序设计师那里得到了一个小图标工具包。我实现了它们,我得到了和以前一样的模糊性。

所以我知道这不是我的设计师。它必须以某种方式成为我的(编码器)错误。我曾经看过一些关于获取CGRefContext或者某些东西以使图标和图像更清晰的东西,但是我再也找不到有人说答案的SO问题了:(

我已经保存了一个常规尺寸的图标+应用程序中所有内容的@ 2x大小的图标。

例如,我们尝试在工具栏中放入一些工具栏图标,图像的大小为正常大小的25 x 25,然后是@ 2x大小的50 x 50。

另外,我正在直接测试iPhone 4S。所以它不像我在模拟器中查看它或其他东西。

我已经查找了图标尺寸指南,并且使图标尺寸全部加倍只会产生更大版本的图标。也许有一些方法可以通过编程方式缩小它们,而我却不知道?

请帮忙。几周以来,我们一直在被动地试图解决这个问题!

请求上的图标:

正常 guestlist_icon.png

@ 2倍 guestlist_icon@2x.png

2 个答案:

答案 0 :(得分:6)

虽然我在6个月前问过这个问题,但我希望这个问题在将来仍然有用。我了解到,获得最清晰图像的最佳方法始于设计师。

设计师在完成设计时需要使用基于矢量的应用程序,例如Adobe Illustrator。他们不应该使用像Adobe Photoshop这样基于像素的应用程序来完成设计。

当我问这个问题时,这并没有成为我的问题。这实际上是我的愚蠢错误。我将图像保存为@ 2X而不是@ 2x。所以视网膜图像永远不会被加载。严重的是最大的荷马辛普森“Doh!”我生命中的一刻。

答案 1 :(得分:0)

最重要的是,我不明白这意味着什么:“而且,我正在直接测试iPhone 4S。所以它不像我在模拟器中查看它或其他东西。”

可能出现的问题:

  1. 图像的提名 - >根据你的评论,我认为提名是正确的。

  2. 您创建图片的方式 - >如果您使用“imageNamed”之类的方法,它将处理2x图像。如果你使用像“imageWithContentsOfFile”这样的方法,你需要自己做:

    -(NSString *)getPathByFileName:(NSString *)name{
        if([UIScreen mainScreen].scale == 2.0) {
            return [[NSBundle mainBundle] pathForResource:[name stringByAppendingString:@"@2x"] ofType:@"jpg"];
        }else{
            return [[NSBundle mainBundle] pathForResource:name ofType:@"jpg"];
        }
    }
    [UIImage imageWithContentsOfFile:[self getPathByFileName:name]];
    
  3. 您确定在Xcode中添加了所有文件。