字节数组到UIImage

时间:2017-11-07 18:29:55

标签: ios xamarin xamarin.ios

在我的Xamarin.iOS应用程序中,我有一个字节数组,我需要转换为UIImage。我试过这个:

var data = NSData.FromArray(myByteArray);
var uiimage = UIImage.LoadFromData(data);

但它不会奏效。它会创建UIImage,但当我将其设置为UIImageView时,我什么也看不见。我在我的项目的Android平台上使用相同的字节数组,它工作正常。所以我假设我尝试将其转换为UIImage的方式是错误的。

1 个答案:

答案 0 :(得分:1)

我不确定如何将数据下载到字节数组中,但这是使用NSUrlConnection的示例:

// allow NSAllowsArbitraryLoads since this is a HTTP connection
var url = new NSUrl("http://example.com/foobar.jpg");
var data = NSUrlConnection.SendSynchronousRequest(NSUrlRequest.FromUrl(url), out var response, out var error);
var image = UIImage.LoadFromData(data);
ImageView1.Image = image;

注意:这是一个同步请求,使用SendAsynchronousRequest或执行 off 主线程。

  

实际上是我失踪的NSAllowsArbiraryLoads权限。

您可以通过NSAllowsArbitraryLoads禁用所有ATS:

<key>NSAppTransportSecurity</key>
<dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
</dict>

您最好在域级别执行此操作: