gpt4 book ai didi

xamarin - 当 UIWebView 请求开始加载时,不会调用自定义 UIWebViewDelegate 的 ShouldStartLoad

转载 作者:行者123 更新时间:2023-12-04 14:05:52 25 4
gpt4 key购买 nike

我已经定义了一个 UIWebViewDelegate 类并在我的 UIWebView 的 Delegate 属性中实例化它,但是当 webview 加载请求时没有调用 ShouldStartLoad 方法。我究竟做错了什么?

这是定义我的 UIWebViewDelegate 和我的 UIWebView 的代码:

public class MyWebViewDelegate: UIWebViewDelegate
{
private UIWebView _view;
public MyWebViewDelegate (UIWebView view)
{
_view = view;
}
public override bool ShouldStartLoad (UIWebView webView,
MonoTouch.Foundation.NSUrlRequest request,
UIWebViewNavigationType navigationType)
{
System.Console.WriteLine("Starting load");
return true;
}
}

public class MyWebView : UIWebView
{
private static MyWebView _instance = new MyWebView ();
private MyWebView () : base()
{
this.Delegate = new MyWebViewDelegate(this);
}
public static MyWebView Instance {
get { return _instance; }
}
public void Load ()
{
this.LoadRequest (new NSUrlRequest(NSUrl.FromString("http://myurl"),
NSUrlRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData,
5)
);
}
}

在我的 appdelegate 中,我将在 FinishedLaunching 方法中执行以下操作:

// Create form view controller
viewControllerForm = new UIViewController();
viewControllerForm.View = MyWebView.Instance;
viewControllerForm.Title = Localization.Translate("Forms");

// Load webview
MyWebView.Instance.Load();

请注意,我使用复制/粘贴来提供此代码示例,因此此处可能存在一些较小的复制/粘贴错误,但我的代码正在编译并且 webview 加载了请求;只是没有调用 ShouldStartLoad。

有谁知道我在这里做错了什么?

最佳答案

我通过使用 webview 的 ShouldStartLoad 属性解决了这个问题,如下所示:

myView.ShouldStartLoad = (webView, request, navType) => {
// Determine here what to do
}

我从 miguel.de.icaza's 得到了这个答案回答发布的问题 here .

关于xamarin - 当 UIWebView 请求开始加载时,不会调用自定义 UIWebViewDelegate 的 ShouldStartLoad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5404152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com