2012-04-11 38 views
4

iosのドキュメントによれば、webview読み込みタスクを停止するには、[webView stopLoading]メソッドを使用する必要があります。すぐにUIWebViewの読み込みを停止する方法

私の知る限り、このメソッドは非同期で実行され、現在ロード要求を処理中であればすぐに停止しません。

しかし、読み込み中の部分がメインスレッドをブロックするため、webviewが進行中のタスクを直ちに停止するような方法が必要です。アニメーションにフリックが発生する可能性があります。

これを成功させる方法はありますか?

+0

解決策は見つかりましたか?私も同じ問題に直面しています –

答えて

0

HTMLドキュメントを直接ダウンロードするためにUIWebViewを使用しないでください。 ASIHTTPRequestのような非同期ダウンロードメカニズムを使用して、バックグラウンドスレッドによってダウンロードされたHTMLを取得します。 requestFinishedのHTMLコンテンツを取得したら、それをUIWebViewに渡します。非同期要求を作成する方法ASIHTTPRequestのページから

例:

- (IBAction)grabURLInBackground:(id)sender 
{ 
    NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"]; 
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
    [request setDelegate:self]; 
    [request startAsynchronous]; 
}   

- (void)requestFinished:(ASIHTTPRequest *)request 
{ 
    // Use when fetching text data 
    NSString *responseString = [request responseString]; 
  
    // Use when fetching binary data 
    NSData *responseData = [request responseData]; 
}   

- (void)requestFailed:(ASIHTTPRequest *)request 
{ 
    NSError *error = [request error]; 
} 

使用あなたのUIWebViewのloadHTMLStringメソッドのパラメータにresponseString

UIWebView *webView = [[UIWebView alloc] init]; 
[webView loadHTMLString:responseString baseURL:[NSURL URLWithString:@"Your original URL string"]]; 
+0

私は既にwebviewをロードするメソッドをロードしています.HTMLページはローカルファイルシステム上にあります。[webView loadHTMLString:responseString baseURL:[NSURL URLWithString:@ "あなたの元のURL文字列"]]; – manuyavuz

+0

iOSデバイスローカルの「ローカルファイルシステム」を意味しましたか?または、あなたのhtmlコンテンツを提供するためにあなたのWiFiネットワーク上のコンピュータ(あなたのiOSデバイスと同じもの)を持っていますか?あなたのHTMLは何をしていますか?それはAjaxや他のJavaベースのフレームワークを使った単純なページか何か動的ですか? – FeAt

+0

Htmlはネットワークから取得されていません。すでにデバイスローカルにあります。 HTMLには長いテキストコンテンツが含まれており、静的なHTMLです。 – manuyavuz

2

は、これは私のために働きました。

if (webText && webText.loading){ 
    [webText stopLoading]; 
} 

webText.delegate=nil; 


NSURL *url = [NSURL URLWithString:@""]; 
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
[webText loadRequest:requestObj]; 
+0

これはすぐには機能しますが、空白の白いページが表示されます。 – devios1

関連する問題