Я определил класс UIWebViewDelegate и создал его экземпляр в свойстве Delegate моего UIWebView, но метод 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();
Обратите внимание, что я использовал copy / paste для предоставления этого примера кода, поэтому здесь могут быть незначительные ошибки копирования / вставки, но мой код компилируется, и веб-просмотр загружает запрос; просто ShouldStartLoad не вызывается.
Кто-нибудь знает, что я здесь не так делаю?