如何用正确的分辨率图像填充UITableViewCell?

我build立了一个包含图像单元格的UITableView。

我正在使用资源目录以image1.png,image1@2x.png和image1@3x.png来适当地命名图像。

我有一个NSMutableArray,我用资产目录中的图像名称进行初始化,例如:

viewDidLoad中:

self.LogoArray = [ [NSMutableArray alloc] initWithObjects:@"image1",@"image2", image2", nil]; 

然后我用自己的自定义图像创build了一个自定义单元格以显示在单元格中:

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { // some code here cell.customImageView.image = [UIImage imageNamed:[self.LogoArray objectAtIndex:indexPath.row] ]; // some code here } 

问题是,当我在不同的iPhone平台上运行这个,图像非常模糊,分辨率也不好。

我相信编译器并不知道image.png,image@2x.png或image@3x.png的版本,以基于它运行的iPhone平台,将其分配给cell.customImageView.image

有没有另外一种方法可以让Xcode从资源目录中select适当的图像文件,以便在不同的iPhone平台上正确显示它?

这是我的资产目录的外观: 在这里输入图像说明

LogoArray中的对象使用资产目录中的正确名称进行适当命名。

谢谢

您不需要知道资产目录下文件的名称。

在您发送的屏幕截图中,您只需使用以下名称:

 self.LogoArray = [[NSArray alloc] initWithObjects:@"barona_logo", @"chase_logo", @"crabhut_logo", nil]; 

你应该没问题。