【问题标题】:Xamarin Forms: ImageSource.FromUri not displayXamarin 表单:ImageSource.FromUri 不显示
【发布时间】:2015-11-25 15:27:52
【问题描述】:

我有一个项目列表,每个项目都有一个图像(从远程服务器下载),如下所示:

var image = new Image
            {
                WidthRequest = 44,
                HeightRequest = 44,
            };
            image.SetBinding(Image.SourceProperty, new Binding("ImageUrl"));

几乎所有图像在 iPhone 5S 和 6+(模拟器/真实设备)中都能正常显示。

但是,iPhone 6+(模拟器/读取设备)上没有显示图像。我尝试不设置宽度和高度请求,但没有解决问题。

这是异常图像的信息:

Size: 9KB (12KB on disk)
Dimension: 608 x 369
Color Space: RGB
Color Profile: Generic RGB Profile
Alpha Channel: Yes

感谢您的帮助!

编辑 1:经过一些实验,这是一个非常间歇性的问题,并非特定于 iPhone 6+。有时图像出现,有时不出现。目前我无法重现该错误。

我很确定这不是布局/排序问题(我用另一个替换了奇怪的项目,这很好)。这不是图像大小/尺寸问题(我用另一个图像替换了奇数图像,它也没有显示)。

到目前为止,我的结论是 URL 引起了问题。任何遇到相同问题的人都可以尝试 Kowalski 的答案。

【问题讨论】:

  • 是资源图片还是远程url图片?
  • 这是一张在线图片。
  • 网址是否正确?您是否尝试过使用 Image.Aspect 属性?
  • 网址正确。图像在 iPhone 5s 上正常显示。我已经按照您的建议尝试了所有 3 Aspect 属性,但问题在 iPhone 6+ 上仍然存在。顺便说一句,所有其他图像都完美显示,并且它们的大小、尺寸与奇数图像非常相似。
  • 您可以在bugzilla.xamarin.com 上填写一个错误并附上不起作用的图像。

标签: ios iphone image xamarin xamarin.forms


【解决方案1】:

我也遇到过同样的问题。这是关于对 URL 进行编码。您可以通过custom renderers 修复普通(PCL)项目或 iOS 项目。

要做的就是:

string encodedURL = Uri.EscapeDataString(yourUrl);

并使用encodedURL 作为图像源。

【讨论】:

    猜你喜欢
    • 2021-01-08
    • 1970-01-01
    • 2017-01-15
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 2016-09-14
    相关资源
    最近更新 更多