在我的Xamarin.iOS应用程序中,我有一个字节数组,我需要转换为UIImage
。我试过这个:
var data = NSData.FromArray(myByteArray);
var uiimage = UIImage.LoadFromData(data);
但它不会奏效。它会创建UIImage
,但当我将其设置为UIImageView
时,我什么也看不见。我在我的项目的Android平台上使用相同的字节数组,它工作正常。所以我假设我尝试将其转换为UIImage
的方式是错误的。
答案 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>
您最好在域级别执行此操作: