我已經定義了一個UIWebViewDelegate類並在我的UIWebView的Delegate屬性中實例化了它,但是當webview加載請求時不會調用ShouldStartLoad方法。我究竟做錯了什麼?當UIWebView請求開始加載時,不會調用自定義UIWebViewDelegate的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加載請求;它只是沒有被調用的應該啓動加載的。
有沒有人有任何想法我在做什麼錯在這裏?