无法以编程方式在UIImageView(iPhone)中显示图像

时间:2010-08-12 17:26:06

标签: iphone uiimageview

我正在开发一款iPhone应用程序,但我遇到了障碍。

NSString *fileLocation = [[NSBundle mainBundle] pathForResource:@"happy.1" ofType:@"jpg"];
UIImage *new_image = [UIImage imageWithContentsOfFile:fileLocation]; 
[self setImage:new_image];

if (new_image == nil) {
    NSLog(@"can't load image happy.1.jpg");
}
bgImageView.image = image;

这是我用来显示图像的代码,但它没有出现! new_image不是nil,我理解如果它无法加载图像。 bgImageView是一个IBOutlet并在IB中连接。

请告诉我我做错了什么。谢谢!

编辑:此外,这不适用于模拟器或设备

4 个答案:

答案 0 :(得分:0)

image是否为空?

[UIImage imageNamed:@"happy.1.jpg"]出了什么问题?

答案 1 :(得分:0)

因此,通常这是因为图像没有被复制到构建的可执行文件中。因此,打开应用程序包,看看它们是否在那里。

如果那么可能检查fileLocation是否为空/零。

我想知道“.1”是否会导致问题。尝试重命名您的图像文件_1,_2,看看是否修复它。

答案 2 :(得分:0)

NSString *fileLocation = [[NSBundle mainBundle] pathForResource:@"happy.1" ofType:@"jpg"];
UIImage *new_image = [UIImage imageWithContentsOfFile:fileLocation]; 
bgImageView.image = new_image;

答案 3 :(得分:0)

你可以使用 imageview.image = [UIImage imageNamed:@“imagename”];

并且通过使用它们我们可以在每个imageview上显示大量图像。它不会导致内存问题。只需要为分配的imageview处理正确的释放。