【发布时间】:2018-09-16 22:39:55
【问题描述】:
我知道有几个关于 SO 的问题涉及该主题,但是,到目前为止,它们并没有帮助我解决问题。我想以 xamarin 形式显示图像。在android上它可以工作,在iOS上图像不会显示。我使用资产目录来定义 iOS 中的图像。请看下面:
Xaml:
<Image Opacity="0.4" Source="happinessfactury.png" Aspect="AspectFill" />
iOS 项目文件:
<ImageAsset Include="Assets.xcassets\happinessfactury.imageset\Contents.json" />
<ImageAsset Include="Assets.xcassets\happinessfactury.imageset\happinessfactory@1x.png" />
<ImageAsset Include="Assets.xcassets\happinessfactury.imageset\happinessfactory@2x.png" />
<ImageAsset Include="Assets.xcassets\happinessfactury.imageset\happinessfactory@3x.png" />
contents.json
{"images": [
{
"idiom": "universal"
},
{
"filename": "happinessfactory@1x.png",
"scale": "1x",
"idiom": "universal"
},
{
"filename": "happinessfactory@2x.png",
"scale": "2x",
"idiom": "universal"
},
{
"filename": "happinessfactory@3x.png",
"scale": "3x",
"idiom": "universal"
},
{
"idiom": "iphone"
},
{
"scale": "1x",
"idiom": "iphone"
},
{
"scale": "2x",
"idiom": "iphone"
},
{
"subtype": "retina4",
"scale": "2x",
"idiom": "iphone"
},
{
"scale": "3x",
"idiom": "iphone"
},
{
"idiom": "ipad"
},
{
"scale": "1x",
"idiom": "ipad"
},
{
"scale": "2x",
"idiom": "ipad"
},
{
"idiom": "watch"
},
{
"scale": "2x",
"idiom": "watch"
},
{
"screenWidth": "{130,145}",
"scale": "2x",
"idiom": "watch"
},
{
"screenWidth": "{146,165}",
"scale": "2x",
"idiom": "watch"
},
{
"idiom": "mac"
},
{
"scale": "1x",
"idiom": "mac"
},
{
"scale": "2x",
"idiom": "mac"
}],"info": {
"version": 1,
"author": "xcode"},"properties": {
"on-demand-resource-tags": [
"happinessfactury"
]}}
编辑 1 在 Xaml 中,我错误地将源设置为 Source="happinessfactury",这是错误的。然而,即使使用 Source="happinessfactury.png" 它也不能在 iOS 上运行。 (虽然在安卓上)
编辑 2
这有点尴尬,但我解决了这个问题。错误是通过happinessfactury 而不是happinessfactory 引用xaml 中的图像,happinessfactory 是正确的名称,也是图像文件的名称。
【问题讨论】:
标签: xamarin xamarin.forms xamarin.ios xcasset