uiwebviewリクエストがロードを開始したときに呼び出されないカスタムuiwebviewdelegateのspestartload

StackOverflow https://stackoverflow.com/questions/5404152

  •  28-10-2019
  •  | 
  •  

質問

uiwebviewdelegateクラスを定義し、uiwebviewのデリゲートプロパティにインスタンス化しましたが、WebViewがリクエストをロードするときにSpectArtLoadメソッドは呼び出されません。私は何が間違っているのですか?

これが私の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で私は次のことをしています 完成しました 方法:

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

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

このコードサンプルを提供するためにコピー/ペーストを使用したため、ここにマイナーなコピー/貼り付けエラーがある可能性がありますが、コードがコンパイルされており、WebViewはリクエストをロードします。それだけです startloadになります それは呼ばれていません。

誰かが私がここで何をしているのか考えていますか?

役に立ちましたか?

解決

私はこれを利用してこれを解決しました startloadになります 次のようにWebViewのプロパティ:

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

私はこの答えを得ました Miguel.de.icaza's 投稿された質問への回答 ここ.

他のヒント

Uiwebviewをサブクラス化しないでください。 uiwebviewクラスリファレンスを参照してください - サブクラス化ノート: http://developer.apple.com/library/ios/#documentation/uikit/reference/uiwebview_class/reference/reference.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top