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没有显示简单的网页所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)