资产目录中的图像未加载到物理iPhone 5上,但显示在6S和模拟器上

时间:2016-06-09 13:56:12

标签: xamarin xamarin.ios

我的应用正在从资产目录中加载图片。

我通过在Visual Studio编辑器中拖放来创建目录。

当我将应用程序加载到物理iPhone 6S,将模拟器加载到iPhone 6S或将模拟器加载到iPhone 5时,图像显示正确。

当我在物理iPhone 5上加载应用程序时,它们都没有显示。

在我的项目结构中,所有图像都采用相同的格式:

Resources/Media.xcassets/Image1.imageset/image_1.png Resources/Media.xcassets/Image1.imageset/image_1@2x.png Resources/Media.xcassets/Image1.imageset/image_1@3x.png

Resources/Media.xcassets/Image1.imageset/Contents.json是:

{
  "images": [
    {
      "scale": "1x",
      "idiom": "universal",
      "filename": "image_1.png"
    },
    {
      "scale": "2x",
      "idiom": "universal",
      "filename": image_1@2x.png"
    },
    {
      "scale": "3x",
      "idiom": "universal",
      "filename": "image_1@3x.png"
    }
  ],
  "properties": {},
  "info": {
    "version": 1,
    "author": ""
  }
}

我正在使用UIImage.FromBundle("Image1");加载它们。物理6S和模拟器5上的值很好,但物理5上的值为null。

我尝试了在参考资料/文件夹中松散添加image_test.pngimage_test@2x.pngimage_test@3x.png的弃用方法,这些方法可以在所有平台上正常加载。

关于我出错的地方有什么建议吗?我感到很困惑,因为我的两个设备都应使用相同的@2x图片。我删除了bin/iPhone/,多次清理和重建,没有运气。

1 个答案:

答案 0 :(得分:1)

尝试完全从设备卸载应用程序。我发现有了侧载,当你添加或更改图像时,这需要完成,可能会清除/bin//obj/文件夹并重建应用程序,正如你所说的那样。

大多数情况下,这不是必要的。