UIImage imageNamed 不使用 xcode 4.4 显示图像

Posted

技术标签:

【中文标题】UIImage imageNamed 不使用 xcode 4.4 显示图像【英文标题】:UIImage imageNamed does not display the image with xcode 4.4 【发布时间】:2012-09-17 16:28:00 【问题描述】:

我一直坚持将 UIImage 添加到我的 iPhone 应用程序中,要添加图像,我通常使用图像的名称并这样放置: UIImage* myImage1 = [UIImage imageNamed:@"myImage.png"];

但是在我的应用程序中,我在编写代码时不知道图像的名称,我通过网络服务获得了图像名称并将其放入 NSString。

所以我有一个字符串m_image1,我想像这样在 UIImage 中显示图像:

UIImage* myImage1 = [UIImage imageNamed:m_image1];

但是屏幕上什么也没有出现,当我使用NSLog 来显示m_image1 是否有正确的字符串时它可以工作,当我将打印的内容粘贴到 imageNamed 的日志中时它可以工作。

我已经尝试过使用我的应用程序的路径,但什么也没做!所以我不知道该尝试什么了!

这是我所有的代码块:

NSLog(@"m_image1 : %@",m_image1); 
UIImage* myImage1 = [UIImage imageNamed:m_image1]; 
m_result1ImageView = [[UIImageView alloc] initWithImage:myImage1]; 
m_result1ImageView.frame = CGRectMake(0.f, 0.f, 163.f, 260.f); 
[m_ScrollImages addSubview:m_result1ImageView];

一切正常,当我把:

UIImage* myImage1 = [UIImage imageNamed:@"myImage.png"];

而不是:

UIImage* myImage1 = [UIImage imageNamed:m_image1];

它显示图像!

【问题讨论】:

那行代码只加载图像,它不会显示它在屏幕上... 我在 'm_result1ImageView = [[UIImageView alloc] initWithImage:myImage1]' 之后使用了 UIImageView,但它仍然不显示图像! 好的,您是否将那个 imageView 添加到某个视图中? :) 这是我的整个代码块: NSLog(@"m_image1 : %@",m_image1); UIImage* myImage1 = [UIImage imageNamed:m_image1]; m_result1ImageView = [[UIImageView alloc] initWithImage:myImage1]; m_result1ImageView.frame = CGRectMake(0.f, 0.f, 163.f, 260.f); [m_ScrollImages addSubview:m_result1ImageView];所以是的,这是相同的观点! 将代码添加到您的初始问题中,在 cmets 中阅读它太难了。什么是 m_ScrollImages,一切正常吗? 【参考方案1】:

我认为你的图片不在资源中!

检查您的图像:转到Project Navigator 并单击您的项目的蓝色图标。现在在Targets 中单击您的目标并转到Build phases 选项卡并检查Copy bundle resources

您的图片文件必须在列表中,如果没有添加,请重新检查程序!

希望对你有用!

【讨论】:

感谢您的回答!我检查了我的复制包资源,图像在列表中!但问题是,当我替换 m_image1 时,它是包含要显示的图像名称的字符串,由图像的实际名称 @"myImage1" 显示,然后它就可以工作了,图像就会显示出来!【参考方案2】:

试试这个代码,

m_result1ImageView.image=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString: m_image1]]];

【讨论】:

仍然没有显示任何内容,但感谢您的回答!我将图像放在应用程序文件夹中的哪个位置并不重要?因为即使我获得了要与 web 服务一起显示的图像的名称,我的所有图像都在我的应用程序文件夹中,我只是从我的 web 服务中获取名称并将其放入 m_image1 !【参考方案3】:

我认为您没有完全复制应用程序包中未显示的图像。

尝试并检查删除一堆图像并在您的项目中再次添加它们。

【讨论】:

以上是关于UIImage imageNamed 不使用 xcode 4.4 显示图像的主要内容,如果未能解决你的问题,请参考以下文章

UIImage imageNamed 上的实时应用程序崩溃:

无法使用 imageNamed 方法获取 UIImage 对象

UIImage + NSCache 与 [UIImage imageNamed:]

使用 UIImage imageNamed 方法渲染图块的性能问题

iOS - UIImage imageNamed:在设备上返回 null

如何确定 -[UIImage imageNamed:] 将加载的文件的路径?