小编nic*_*son的帖子

在代码中指定图像时,不使用Retina图标(@ 2x)

我将一个play.png图像放在我的视图上.当视图最初加载时,iPhone 4会抓取相应的play@2x.png文件,看起来很棒.但是,当我点击播放按钮时,我的代码将其交换为pause.png文件.然后,当我点击pause.png带回play.png时,它会使用原始的play.png文件(而不是我认为会自动引用的@ 2x版本).

这是我试图使用的代码:

[button setImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

因此,如果我在初始视图加载后交换文件,是否必须在IF语句中手动指定@ 2x版本?如果是这样,UIScreen.scale是用于此的最佳属性吗?

我目前正在使用这样的代码:

if ([UIScreen mainScreen].scale > 1.0) 
{ 
    [button setImage:[UIImage imageNamed:@"play@2x.png"] forState:UIControlStateNormal]; 
} 
else 
{ 
    [button setImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal]; 
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但在那里有IF声明很烦人,似乎有点脆弱.

在此之前,感谢所有的聪明人.

iphone ios4 retina-display

13
推荐指数
3
解决办法
2万
查看次数

Xcode或iOS不会在iPad上使用我的Icon-72.png

我为应用程序图标创建了3个文件:Icon.png,Icon-72.png和Icon@2x.png.Icon@2x.png在实际的iPhone 4上显示正常.但是,模拟器仅使用57px版本.使用iPad时,模拟器和iPad本身都不使用Icon-72.png文件.只有57px版本.

救命!:)

iphone xcode ipad

3
推荐指数
2
解决办法
7896
查看次数

标签 统计

iphone ×2

ios4 ×1

ipad ×1

retina-display ×1

xcode ×1