2012-08-10 18 views
9

UIWebViewdidFinishLoadメソッドで問題が発生しています。私はestimatedProgress solutionを試してみたいと思いますが、残念ながらそれらのフレームワークがどこにあるのかわかりません。私はMountain Lionを使い、XCodeの最新バージョンを使用しています。また、複数回UIWebViewを起動するには、これが最善の方法か、新しい方法がありますか? SOのjavascript answerがあるようですが、それは私にとってはうまくいかなかったのです。これは2009年のことで、私はAppleが非公開APIを使用するアプリを拒否していると聞いています。私を助けてください!UIWebView(準備完了状態4)の最後のロードを見つける方法

ありがとうございました!

答えて

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を置き換える)

+0

すてきな解決策!かなり面白い! –

+0

ええ、いいね。これは私のために働く。 –

0

リンク先のページのコードにインポートされた.hファイルをフレームワークで表す場合は、here's the linkを直接ダウンロードしてください。さらなる助けを得るには、もっと詳しく説明する必要があります。

EDIT:また、参照してください。NSURLConnection NSURLRequest proxy for asynchronous web service calls

をリンク答えはNSURLRequestに接続を要求し、要求の異なる状態ごとに異なるコールバックを取得する方法について説明し、そのよう- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

+0

は基本的に質問がWebビューのすべての4の負荷をバイパスして作ることです:私は動作するようですいくつかのテストコードを手早くページロード準備完了状態4 –

+0

@ chaitanya.varanasi「準備完了状態4」とはどういう意味ですか? –

+0

準備完了状態は、ウェブページが読み込みの状態を経由するようなイベントベースのものです そのような4つの状態があります –

関連する問題