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