4
我試圖爲iOS實現CustomWebViewRenderer,以便稍後將標題追加到請求中。我可以看到包圍網頁視圖的邊框,但無法看到與邊框顏色相同的背景。只能在邊框內看到一個白色的空白區域。Xamarin表單:iOS上的CustomWebView未顯示簡單網頁
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, 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;
}
我是否需要任何編輯.plist文件中的任何內容,例如Android的Internet權限。
您試圖查看的網站的網址是什麼? – hvaughan3
你的ios版本? – sugansoft
你是否看到任何日誌?像apptransportsecurity ...... – Akshay