iPhone 设备上图片无法显示

3

(Xcode6,构建iOS7.1,iPhone 4S,Swift)

图像在模拟器中显示,但在设备上却没有显示。我一直试图找到解决办法,但没有成功。以下是我的尝试:

文件名:abc@2x.png、abc.png。 将一个imageview拖放到storyboard中,并通过“属性检查器”中的“image”下拉菜单指定文件名。 文件名中的所有字符都是小写。

  • 拖放文件到images.xcassets文件夹中
  • 验证了images.xcassets在“Build Settings”的“Copy Bundle Resources”部分中是否存在

没有成功。删除文件。使用左下角的“+”按钮重新添加文件,并选择“Add files to myProject”

  • 勾选“Copy items if needed”
  • 勾选“Create Groups”
  • 验证了文件是否在“Build Settings”的“Copy Bundle Resources”部分中

没有成功。删除文件

  • 使用左下角的“+”按钮重新添加文件,并选择“Add files to myProject”
  • 勾选“Copy items if needed”
  • 选择“Create Folder References”单选按钮
  • 验证了文件是否在“Build Settings”的“Copy Bundle Resources”部分中

没有成功。删除文件

  • 进入GIMP并将文件格式更改为.jpg

    1. 使用.jpg文件重复上述步骤。
  • 将新的imageview拖放到视图控制器中,并使用下拉菜单设置此容器的图像。

仍然没有成功

  • 多次从手机中删除应用程序,以进行干净的安装

仍然没有成功。

  • 项目->“Clean”
  • 项目->“Build”
  • 重新启动Xcode

仍然没有成功。 有什么想法吗?

如果有人需要我,就去找那个在桌子上撞头的家伙。 :/


1
当以编程方式加载时,图像是否会加载?var image = UIImage(named: "abc") println(image) - YarGnawh
它确实加载了;一个内存地址被打印出来。我决定放弃Storyboard,只使用Swift来设置图像,结果成功了。我将在下面记录答案。 - kmiklas
我建议尝试使用Xcode的images.xcassets文件夹,而不是直接将图像添加到bundle中。话虽如此,这可能是Xcode 6的一个bug。您是否尝试在Xcode 5中将其添加到bundle,然后在Xcode 6中重新打开项目? - Oxcug
3个回答

0

我已经让它工作了,虽然不是我想要的方式。我放弃了故事板方法,只是用代码设置了背景。

为了后人:

I. 在storyBoard中,删除属性检查器中对图像的引用。那里一定有些错误。它不起作用,并且会破坏下面的代码。

II. 从图像视图创建一个IBOutlet到您的控制器。您必须通过ctrl+拖动和保持操作来完成。您应该最终得到类似于这样的东西:

@IBOutlet var cheese : UIImageView = nil

III. 在你的 viewDidLoad() 方法中,以编程方式设置图像,如下所示:

override func viewDidLoad() {
    super.viewDidLoad()
    self.cheese.image = UIImage(named: "cabotClothbound.jpg")
}

当然,您必须确保完成原始问题中的所有内容:确保您的情况一致,确保文件已添加到构建中等。

拖放到Images.xcassets中的.jpg文件是有效的。


0

你的图片同时引用了其他图片,将该图片名称更改为其他名称,然后使用最新的图片尝试。

abc.png to a.png
abc@2x.png to a@2x.png

我相信这会解决你的问题。


0
我曾经遇到过相同的问题,但已经解决了。这个图片(实际上是图标)不应该在Resources.bundle中,而应该在Assets.xcassets中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接