9

発砲し続けるというdidFinishLoad方法に問題があります。私はestimatedProgressソリューションUIWebViewを試したいのですが、残念ながらそれらのフレームワークがどこにあるのかわかりません。Mountain Lionを実行していて、最新バージョンのXCodeを使用しています。また、UIWebViewを複数回起動する場合、これが最善の方法であるか、新しいメソッドがあります。SOにはjavascriptの答えがあるようですが、それは私にはうまくいきませんでした。それは2009年にさかのぼり、AppleはプライベートAPIを使用するアプリを拒否すると聞いています。ここで私を助けてください!

みんなありがとう!

4

2 に答える 2

2

未処理のリクエストの数を追跡するのはどうですか?動作するように見えるいくつかのテストコードを作成しました。

@interface WebViewDelegate : NSObject<UIWebViewDelegate>
@property ( nonatomic ) NSUInteger numberOfRunningRequests ;
@end

@implementation WebViewDelegate

-(void)webViewDidStartLoad:(UIWebView *)webView
{
    self.numberOfRunningRequests = self.numberOfRunningRequests + 1 ;
}

-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    self.numberOfRunningRequests = self.numberOfRunningRequests - 1 ;
    if ( self.numberOfRunningRequests == 0 )
    {
        NSLog(@"done!\n") ;
    }
}

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

    UIWebView * webView = [[ UIWebView alloc ] initWithFrame:self.window.bounds ] ;
    static WebViewDelegate * delegate = nil ;
    delegate = [[ WebViewDelegate alloc ] init ] ;
    webView.delegate = delegate ;

    [self.window addSubview:webView ] ;
    NSURLRequest * request = [ NSURLRequest requestWithURL:[ NSURL URLWithString:@"http://stackoverflow.com"] ];
    [ webView loadRequest:request ] ;
    return YES;
}

@end

(Xcodeサンプルプロジェクトを作成し、AppDelegate.mをこれに置き換えます)

于 2012-08-19T23:45:42.683 に答える
0

フレームワークとは、リンク先のページのコードにインポートされた.hファイルを意味する場合、それらを直接ダウンロードするためのリンクは次のとおりです。さらにヘルプが必要な場合は、さらに詳しく説明する必要があります。

編集:さらに、参照してください:非同期Webサービス呼び出し用のNSURLConnectionNSURLRequestプロキシ

NSURLRequestリンクされた回答は、接続を要求し、要求のさまざまな状態に対してさまざまなコールバックを取得する方法を説明しています。- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

于 2012-08-13T00:56:51.553 に答える