2

我正在尝试将图像 (.png) 加载到 UITableViewCell 的 backgroundView 中。但是,图像不显示。根据返回 NULL 的图像的日志输出,这似乎是初始化图像的问题。

我尝试过/检查过的事情:

  1. 文件名拼写和大写正确。

  2. 该文件已被适当地添加到 Xcode 并且在 Copy Bundle Resources 中可见

  3. 在文件检查器中选中文件的目标成员资格框

  4. 我更新了文件,所以可以肯定的是,我从模拟器中删除了应用程序以及 DerivedData 文件夹的内容。

  5. 我重新启动了 XCode。

  6. 我尝试通过以下方式加载图像:

    [UIImage imageNamed:@"cell-bg.png"] 
    

    [UIImage imageNamed:@"cell-bg"]
    
  7. 我还尝试从捆绑包中加载:

    NSBundle *mainBundle = [NSBundle mainBundle];
    NSString *imagePath = [mainBundle pathForResource:@"cell-bg" ofType:@"png"];
    NSLog(@"path: %@", imagePath);
    UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
    

对于最后一个, NSLog 在输出中生成完整路径,但是当我执行另一个 NSLog 时,image它会返回NULL.

Apple 的 UIImage 类参考在该-imageWithContentsOfFile:方法下声明:

返回值 指定文件的新图像对象,如果方法无法从指定文件初始化图像,则返回 nil。

那么,文件可能有问题吗?我如何诊断和纠正问题?

4

0 回答 0