首页 > 解决方案 > Xamarin Forms:IOS 上的 Webview 自动打开 IFrame

问题描述

我的问题是我在 webview 中打开我的网站,它有 twitter 和 youtube 等小部件,它们会自动打开而无需点击它。我已尝试实施此解决方案。但是 webview 页面不再打开。不幸的是,我对自定义渲染器了解不多。谢谢你的帮助

这就是我的自定义渲染器的样子:

[assembly: ExportRenderer(typeof(CustomWebView), 

typeof(CustomWebViewRenderer))]

namespace dApp.iOS
{

  public class CustomWebViewRenderer : WebViewRenderer
  {

    #region Properties

    public CustomWebView CustomWebViewItem { get { return Element as CustomWebView; } }

    #endregion

    protected override void OnElementChanged(VisualElementChangedEventArgs e)
    {
        base.OnElementChanged(e);

        if (e.OldElement == null)
        {
            Delegate = new CustomWebViewDelegate(); //Assigning the delegate
        }
    }
   }

  internal class CustomWebViewDelegate : UIWebViewDelegate
   {

    public override bool ShouldStartLoad(UIWebView webView, NSUrlRequest request, UIWebViewNavigationType navigationType)
    {

        if (navigationType == UIWebViewNavigationType.LinkClicked)
        {
            //To prevent navigation when a link is click, return false
            return false;
        }

        return true;
     }
    }
}

标签: xamarinxamarin.formsxamarin.ios

解决方案


推荐阅读