2011-06-01 63 views
8

我有一个UIImage.FromFile()方法的路径问题。我的解决方案文件夹有3个项目,主UI项目中有一个Images文件夹。我把我所有的投影图像此文件夹中,我有这样的代码:MonoTouch - 如何指定图像路径UIImage.FromFile()

UIImage myImg = UIImage.FromFile("Images/someImage.png"); 

我已经分析过this和所有these主题..

我设置图像生成的属性为“内容”和等..

你能帮我:

  • 步步添加图像到一个特定的项目文件夹,并用它动态地
  • 如何使用NSBundle以及为什么我们必须使用这个?

回答

12

一般来说,如果你有正确的文件,去点击它的属性和它标记为Content那么下面的工作:

UIImage myImg = UIImage.FromFile(@"Images/someImage.png"); 
+0

你好Mr.Ryan,谢谢你的回复。我尝试这个,但是当我选择图像文件作为内容,我的手机模拟器冻结。而最糟糕的是,如果我改变图像的编译类型,它永远不会再响应。当我谷歌这种情况下,建议“检查你的ios版本”。你能帮我吗?为什么模拟器崩溃时,我改变图像编译类型? – DortGen 2011-06-03 09:27:28

+1

我不知道 - 我从来没有见过这种行为。你确定冻结是由于图像加载操作而不是代码的另一部分吗? – Ryan 2011-06-03 10:59:02

+0

我检查了多次,我确定这是情况。但我今天晚上再试一次,我会创建一个空的项目,并只添加图像目录并尝试使用您的代码剪切。我会再次在这里写出结果。 – DortGen 2011-06-03 13:15:10

2

非常first question您链接到了该解决方案 - 你需要使用Unix样式路径(“/”),而不是DOS/Windows路径(“\”)。

你还应该仔细检查你的路径的外壳 - 模拟器是比实际设备更加宽容的不正确的情况。

最后,查看.app包的内部,以验证图像文件是否真的是您认为它们的位置,相对于包的根。

+1

这个问题已经使用了Unix风格的路径! – andynormancx 2011-06-21 14:18:07

+3

那是因为在我做出回应之后编辑了这个问题。 – Jason 2011-06-21 20:01:17