UIImage没有画在屏幕上

时间:2012-07-03 06:03:00

标签: ios xcode shell uiimage

我运行Xcode 4.3和Mac OSX 10.7。

我已经在一个应用程序上工作了几个星期,我面临着一个特殊的问题: -

  1. 我将应用程序的所有资源都放在根目录下的文件夹中。
  2. 我有一些shell脚本,它们在编译期间将这些资产放入一个包中。
  3. 我编写了自己的方法(类似于imageNamed :)来处理图像缓存,并且普遍使用这种方法来制作所有的UIImages。
  4. 问题是某些图像没有反映在设备上的应用程序中,而所有图像都出现在模拟器上。

    我确保了

    1. 图像名称与包中的名称正确匹配
    2. 将图像复制到捆绑包中(显示产品应用中的包装内容)
    3. 此文件的权限也提供给(文件上的chmod 777)
    4. 有人知道可能出现的问题吗?

      更新:

      我清理了派生数据并从模拟器中卸载了应用程序并启动了它,现在同样的图像也没有出现在模拟器上,而相同的逻辑和代码适用于所有其他图像。

      我遇到与设备上相同的问题。

      此外,当我进入屏幕上有想要在屏幕上绘制的图像时,我会收到以下错误: -

       <Error>: CGContextSaveGState: invalid context 0x0
      
       <Error>: CGContextSetBlendMode: invalid context 0x0
      
       <Error>: CGContextSetAlpha: invalid context 0x0
      
       <Error>: CGContextTranslateCTM: invalid context 0x0
      
       <Error>: CGContextScaleCTM: invalid context 0x0
      
       <Error>: CGContextDrawImage: invalid context 0x0
      
       <Error>: CGContextRestoreGState: invalid context 0x0
      

2 个答案:

答案 0 :(得分:3)

您可以查看图片的名称。当你在设备上运行你的构建但在模拟器中以任何一种方式工作时都是区分大小写的。

答案 1 :(得分:-1)

您还必须指定图像的扩展名才能在设备上运行。

[UIImage imageNamed:@"test.png"];