UIImage:ipad上的imageNamed在模拟器中失败了

时间:2012-10-03 14:24:23

标签: ios xcode cocoa-touch ipad ios-simulator

使用iPad模拟器和iphone模拟器可以正常使用以下代码段。但是,当我在ipad 2上运行时,UIImage是nil(在调试时检查)(使用iphone模式)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:@"flowerCell"];

    switch (indexPath.section) {
        case kRedSection:
            cell.textLabel.text=[self.redFlowers objectAtIndex:indexPath.row];
            break;

        case kBlueSection:
            cell.textLabel.text=[self.blueFlowers objectAtIndex:indexPath.row];
            break;

        default:
            cell.textLabel.text=nil;
    }

    NSString *img=[[NSString alloc] initWithFormat:@"%@%@", cell.textLabel.text, @".png"];

    UIImage *flowerImage=[UIImage imageNamed:img];

    cell.imageView.image=flowerImage;

    return cell;
}

这是一本从教程书中摘取的基本iphone示例,是第一次出现这个问题。

2 个答案:

答案 0 :(得分:2)

尝试精确匹配图像名称Lowercase-uppercase

如果图像名称是“image.png”,并且你在代码@“image.Png”中写了这个名字,这将在模拟器上正常工作,并且无法在Device上运行

答案 1 :(得分:1)

我假设如果不是文件名大写,则图像丢失。

模拟器可能通过缓存资源来掩盖问题。如果您从模拟器中删除应用程序,清理并再次运行,您可能会在模拟器上看到相同的问题。

检查您的目标构建设置,看看图片是否在您的资源中。