0

我有一个 TabBarController 应用程序,它从 Web 获取所有图像,包括 tabBarController 的图标。我想要的是当设备具有视网膜显示时图像看起来不错。

这就是我正在做的事情:

  1. 根据屏幕比例缩小图像。
  2. 设置视图内容比例:imageView.contentsScale = [UIScreen mainScreen].scale;

它适用于带有 UIImageView 的标准图像,但是我无法弄清楚如何为 UITabBarItems 执行此操作,因为我无法访问框架或 contentScale。

有任何想法吗?

谢谢!

4

3 回答 3

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 上使用此图像。

于 2011-08-14T12:00:59.927 回答
2

您可以创建两个版本的图像,并将它们命名为 image.png 为 30px 和 image@2x.png 为 60px。然后使用这个:

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

将根据设备上的显示加载正确分辨率的图像。

于 2011-08-14T12:09:41.027 回答
0

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

于 2011-04-15T14:48:39.273 回答