0

複数のuiwebviews. アプリを使いやすくするためにロード画面を追加したかったのです。このコードを使用して、Web ビューの 1 つに追加しました。

- (void)webViewDidStartLoad:(UIWebView *)vieWeb
{
_loadingmain.hidden=NO;
}

- (void)webViewDidFinishLoad:(UIWebView *)viewWeb
{
_loadingmain.hidden=YES;
}

viewWeb は、私の uiwebviews の 1 つの名前です。他の 2 つの Web ビューにロード画面を追加するにはどうすればよいですか? webview に別の名前で同じコードを追加すると、エラーが発生します"duplicate declaration of method webViewDidFinishLoad"。どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

1

1 ページに複数の UIWebView がありますね。その場合、いくつかのオプションがあります。

1) UIWebView のサブクラスを作成し、それ自体を Web ビュー デリゲートとして設定します。これにより、各 UIWebView サブクラスが独自の読み込みビューを処理します。

2) ローディング ビューの複数のインスタンスを作成して、次のようなことを行うこともできます。

-(void)webViewDidStartLoad:(UIWebView *)webView
{
    if( webView == self.webView1 )
    {
        [self.webView1 addSubview:self.loadingView1];
    }
    else if( webView == self.webView2 )
    {
        [self.webView2 addSubview:self.loadingView2];
    }
    //repeat for other webviews
}   

-(void) webViewDidFinishLoad:(UIWebView *)webView
{
    if( webView == self.webView1 )
    {
        [self.loadingView1 removeFromSuperview];
    }
    else if( webView == self.webView2 )
    {
        [self.loadingView2 removeFromSuperview];
    }
    //repeat for other webviews
}   
于 2013-07-18T20:05:31.920 に答える