0

UIWebView(およびdelegate = self)を使用してすべてのviewControllerに完全に同じメソッドを実装するのはスマートではないと思います。ということで、全てのUIWebViewで共通の読み込み方法を設定してみました。しかし、うまくいきませんでした。カテゴリで達成するのは間違っていますか?

UIWebView+Loading.m

-(void)webViewDidStartLoad:(UIWebView*)webView
{ 
   [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
}

ViewController.h

@interface ViewController : UIViewController <UIWebViewDelegate>

ViewController.m

#import "UIWebView+Loading.h"

//abbr...

-(void)viewWillAppear:(BOOL)animated
{
    UIWebView *someWebView = [[UIWebView alloc] init];
    someWebView.delegate = self;

    //and HTTP request
    NSURLRequest *req = (abbr);
    [someWebView loadRequest:req];
}
4

2 に答える 2

1

メソッドは、クラス自体のメソッドではなく、プロトコルwebViewDidStartLoad:の一部であるため、呼び出されていません。ViewController.mファイル に実装する必要があります。UIWebViewDelegateUIWebView

また、 iOS の委譲パターンについて読みたいと思うかもしれません。

于 2013-07-23T12:38:03.110 に答える