iOS渲染器中的Xamarin.Forms图像问题

时间:2016-04-08 18:58:21

标签: xamarin xamarin.forms

我希望有人可以帮我解决这个奇怪的问题。

我在渲染器中使用Xamarin Forms。我将Xamarin.Forms.ImageSource传递给ImageLoaderSourceHandler

var_imageLoader = new ImageLoaderSourceHandler();

但是,当我await LoadImageAsync方法时,它始终返回null,而不是UIimage

if (_view.Icon?.Source != null)
{
    _iconImageView.Image = 
        await _imageLoader.LoadImageAsync(_view.Icon.Source);
}

我的图片位于Resource目录中,BundleResource为构建操作。

文件命名是正确的(menu.png,menu @ 2x.png,menu @ 3x.png),如果想法,我已经用完了。

任何人都有一两个线索? 感谢

1 个答案:

答案 0 :(得分:2)

如果您要从网址下载图片,则使用

ImageLoaderSourceHandler

由于您的文件是本地文件,因此您需要使用FileImageSourceHandler

您可以使用此帮助方法为您提供正确的类型。

private static IImageSourceHandler GetHandler(ImageSource source)
        {
            IImageSourceHandler returnValue = null;
            if (source is UriImageSource)
            {
                returnValue = new ImageLoaderSourceHandler();
            }
            else if (source is FileImageSource)
            {
                returnValue = new FileImageSourceHandler();
            }
            else if (source is StreamImageSource)
            {
                returnValue = new StreamImagesourceHandler();
            }
            return returnValue;
        }