UIImageView的UIImage是零

时间:2012-10-13 21:34:36

标签: objective-c ios uiimageview

我在UIImageView中显示UIImage时遇到问题。我查看了遍历stackoverflow的类似问题,但没有一个修复程序帮助了我。

  1. 图片确实在我的包中
  2. 文件检查器 - >检查目标成员资格是否为图像
  3. IBOutlet已连接(我已尝试使用IBOutlet并以编程方式执行)
  4. png和jpg都工作
  5. 以下是使用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'。

    我还尝试直接从属性检查器中选择Image: enter image description here

    然而它仍然没有显示图像(仍然以NSAssert终止 - 'image is nil')。

    非常感谢任何帮助或建议。

    由于

1 个答案:

答案 0 :(得分:1)

看看您是否可以在代码中看到该文件 - 使用

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

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

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