2011-04-15 57 views
0

我有一个TabBarController应用程序,它可以从网络获取所有图像,包括tabBarController的图标。我想要的是当设备具有视网膜显示时图像看起来很好。UITabBarItem在视网膜显示器中的图像大小

这是我在做什么:

  1. 向下调整大小取决于屏幕比例图像。
  2. 设置视图内容比例:imageView.contentsScale = [UIScreen mainScreen] .scale;

这对UIImageView的标准图像工作正常,但我无法弄清楚如何为UITabBarItems做到这一点,因为我无法访问框架或contentScale。

任何想法?

谢谢!

回答

0

如何确定设备是否是视网膜,并相应地下载不同的资产?

+1

感谢您的回答,但问题是,如果我为tabBarIcon设置高分辨率图像(60px而不是30px)作为图像,则绘制得太大。我错过了一些东西,不知道是什么.. – Aklope 2011-04-15 17:28:14

3

创建UIImage时,可以将图像的缩放比例设置为2.0来获得视网膜大小的图像资源。这里是我是如何做的一个样本:

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]]; 
UIImage *image = [UIImage imageWithData:data]; 
CGImageRef cgimage = image.CGImage; 
image = [UIImage imageWithCGImage:cgimage scale:2.0 orientation:UIImageOrientationUp]; 

现在你可以在你的UITabBarItem使用此图像。

2

您可以创建两个版本的图像,并将它们命名为image.png为30px,[email protected]为60px。 然后使用此:

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

右分辨率图像将根据该设备上的显示器上被加载。