1

我在 UIImageView 中显示 UIImage 时遇到问题。我在 stackoverflow 上到处寻找类似的问题,但没有一个修复对我有帮助。

  1. 图片确实在我的捆绑包中
  2. 文件检查器 -> 目标成员已检查图像
  3. IBOutlet 已连接(我尝试过使用 IBOutlet 并以编程方式进行)
  4. png 和 jpg 都有效

这是使用 Interface Builder 的代码 -

//@property and @synthesize set for IBOutlet UIImageView *imageView
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        NSAssert(self.imageView, @"self.imageView is nil. Check your IBOutlet connection");
        UIImage *image = [UIImage imageNamed:@"banner.jpg"];
        NSAssert(image, @"image is nil");
        self.imageView.image = image;      
    }

此代码将以 NSAssert 终止,在控制台中打印“image is nil”。

我还尝试直接从属性检查器中选择图像: 在此处输入图像描述

但是它仍然没有显示图像(仍然以 NSAssert 终止 - '图像为零')。

任何帮助或建议将不胜感激。

谢谢

4

1 回答 1

1

看看你是否可以在你的代码中看到文件 - 使用

path = [[NSBundle main bundle] pathForResource:@"banner" ofType:@"jpg"];
assert(path); 
assert([[NSFileManager defaultManager] fileExists:path])

我刚刚输入了这个,但你明白了 - 使用第一个获取路径,确保你得到它,然后要求文件管理器查看它是否存在。如果是,您可以将文件读入 NSData 对象,然后记录大小,然后查看是否可以使用 imageWithData 创建图像 - 如果失败,则 iOS 可能无法解压缩它。

我经常拍摄在 PhotoShop 或其他地方创建的图像,在预览中加载它们,然后在将它们添加到我的项目之前保存它们。一般来说,如果 Apple 技术将图像保存为您想要的任何格式(png、jpg 等),那么 iOS 很可能也可以打开它。

于 2012-10-14T00:47:03.540 回答