Xamarin表单:iOS上的CustomWebView没有显示简单的网页

Xamarin表单:iOS上的CustomWebView没有显示简单的网页,第1张

概述我尝试为iOS实现CustomWebViewRenderer,以便稍后我可以将标题附加到请求中.我可以看到网页视图周围的边框,但看不到与边框颜色相同的背景.只能看到边框内的白色空白区域. public class CustomWebViewRenderer : ViewRenderer<CustomWebView, UIWebView>{ protected override void 我尝试为iOS实现CustomWebVIEWrenderer,以便稍后我可以将标题附加到请求中.我可以看到网页视图周围的边框,但看不到与边框颜色相同的背景.只能看到边框内的白色空白区域.

public class CustomWebVIEWrenderer : VIEWrenderer<CustomWebVIEw,UIWebVIEw>{    protected overrIDe voID OnElementChanged(ElementChangedEventArgs<CustomWebVIEw> e)    {        base.OnElementChanged(e);        var control = new UIWebVIEw();        control.Layer.bordercolor = new CoreGraphics.CGcolor(1.0f,1.0f,0.0f);        control.Layer.borderWIDth = 10;        control.Layer.Backgroundcolor = new CoreGraphics.CGcolor(1.0f,0.0f);        control.Delegate = new WebVIEwDelegate(control,Element.Token);         SetNativeControl(control);        if (!String.IsNullOrEmpty(Element.Token) && !String.IsNullOrEmpty(Element.Url))        {            Control.LoadRequest(new NSUrlRequest(new NSUrl(Element.Url)));        }    }    protected voID OnPropertyChanged(object sender,System.ComponentModel.PropertyChangedEventArgs e)    {        var element = ((CustomWebVIEw)Element);        if (e.Propertyname.Equals(nameof(element.Token)))        {            ((WebVIEwDelegate)Control.Delegate).Token = element.Token;            Control.LoadRequest(new NSUrlRequest(new NSUrl(Element.Url)));        }    }    class WebVIEwDelegate : uiwebviewdelegate    {        public string Token { get; set; }        private UIWebVIEw _vIEw;        public WebVIEwDelegate(UIWebVIEw vIEw,string token)        {            _vIEw = vIEw;            Token = token;        }        public overrIDe bool ShouldStartLoad(UIWebVIEw webVIEw,NSUrlRequest request,UIWebVIEwNavigationType navigationType)        {            //request.headers.SetValueForKey((Nsstring)"Authorization",(Nsstring)("Bearer " + Token));            return true;        }

我是否需要在AndroID等.pList文件中进行任何编辑以获取互联网权限.

解决方法 您的代码适用于https网站.
要打开http网站,您需要添加到info.pList以下

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

您可以限制某些域的访问权限并自定义更多域.
在这里查看更多:Transport security has blocked a cleartext HTTP

如果您需要从资源加载HTML,请告诉我们.这将是不同的问题.

总结

以上是内存溢出为你收集整理的Xamarin表单:iOS上的CustomWebView没有显示简单的网页全部内容,希望文章能够帮你解决Xamarin表单:iOS上的CustomWebView没有显示简单的网页所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1053315.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存