iPhone应用程序中的图像显示在Simulator中,但在编译到设备时则不会

时间:2010-10-02 07:29:22

标签: iphone objective-c xcode image compilation

我正在学习iPhone开发,并且已经构建了一个简单的应用程序,当您点击它时,该应用程序的图像会更改为另一个图像。

如果我将它构建到模拟器,它可以正常工作,但如果我将它构建到设备上,图像就不会出现。我觉得他们没有被复制过。我已经检查过它们已经正确命名,我确保将它们导入'资源'

我不认为这是代码的问题,因为我添加了一个东西,也可以在点击图像时显示文字,这是有效的,所以按钮仍然在那里做某事,它只是没有图像在它上面。

-(IBAction)changeImage:(id)sender { 
[fortuneCookieButton setImage:[UIImage imageNamed:@"Image2.jpg"] forState:UIControlStateNormal]; 
label.hidden = NO; 
}

 -(IBAction)restoreImage:(id)sender { 
[fortuneCookieButton setImage:[UIImage imageNamed:@"Image1.jpg"] forState:UIControlStateNormal]; 
label.hidden = YES; 
}

8 个答案:

答案 0 :(得分:8)

所有文件名的大小写(上/下)是否与所有字母完全匹配?源代码和项目& Mac吗?

答案 1 :(得分:5)

只是为了与您分享,我遇到了同样的问题,我发现了解决方案:我在文件名中使用小写,在代码中使用大写。事情是在模拟器上没有问题,因为Mac文件系统不区分大小写但在iPad中它不起作用,因为iOS文件系统区分大小写。 ; - )

答案 2 :(得分:3)

我有这个问题。奇怪的是,这张照片过去一直在工作,有一天就停止出现在设备上了。

这是一个巴布亚新几内亚。

我在GIMP中打开它并再次保存。然后又回去工作了。不知道为什么。

疯狂。

答案 3 :(得分:0)

仅适用于PNG图像还是JPG&其他格式你有同样的问题。如果仅用于PNG图像,那么它们可能不会被压缩。请尝试以下方式。

选择您的项目目标&进入它的信息。这里进入构建选项卡。在配置中,从“配置”部分选择“所有配置”。现在,在搜索栏中写下“COMPRESS_PNG_FILES”。并查看复选框的状态。如果未选中,则进行检查&它将起作用。但如果已经检查过,那么项目中应该有其他原因

在后一种情况下,我会要求你创建一个新的虚拟项目&检查是否添加了2-3张图片。

答案 4 :(得分:0)

清除缓存会删除以前的版本,然后重试。

答案 5 :(得分:0)

我也有同样的问题,这是由不同的原因造成的:我的项目有同名的图像文件!由于我的应用程序有很多图像,我无意中包含了相同名称的图像。模拟器更宽容,显示图像就好了;但是,在设备上构建时,同名图像都不会复制到构建目录中。显然xcode对于设备来说更挑剔:因为所有图像都转到同一目录,所以文件名必须不同。当存在具有相同名称的文件时,xcode拒绝复制其中的任何文件,因为它不知道要选择哪一个。

答案 6 :(得分:0)

我有同样的问题。就我而言,问题与显示图像的UIImageView上方的UILabel有关。当我将UILabel的类型更改为AttributedText(在Property Inspector中)时,我的真实设备无法加载图像。当我把它改回平原时,它现在有效。我使用XCode 6.2。

答案 7 :(得分:0)

除了所有建议之外 - 在重新启动设备之前它对我无效