2011-05-24 13 views
1

我需要一些幫助來處理UIWebView中的一些NSData對象。攻絲內UIWebView鏈接事業NSLog項:UIWebView - 方案未知

Scheme unkown, doing nothing: <URL> 

這就是我所做的:

我啓動外部HTTPGetOperation獲得URL請求的響應。我需要這樣做是因爲要處理下載文件。響應被存儲到一個NSData對象。

然後我加載一個當HTTPGetOperation完成被調用的方法中的數據:

[myWebView loadData:myNSDataObject MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]]; 

到目前爲止,UIWebView正確顯示的myNSDataObject內容。

但是,當我嘗試點擊該內容中的鏈接時,我得到一條NSLog條目「未知方案,無所作爲:」與鏈接的URL。

注意:點擊鏈接後,不會調用像-webView:shouldStartLoadWithRequest:navigationType:這樣的代理方法。

通知:委託設置爲[self.myWebView setDelegate:self]

哪些方法創建NSLog進入?

爲什麼委託方法在點擊鏈接後不會被調用?

有誰知道答案?

回答

1

鏈接是如何編碼的?他們是http://鏈接還是他們自定義?只要鏈接處於標準格式,shouldStartLoadWithRequest方法就可以測試URL方案以確定如何處理它。

webView = [[UIWebView alloc] initWithFrame:CGRectMake(0.0f, 44.0f, frame.size.width, frame.size.height - 44.0f)]; 
webView.delegate = self; 

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    if ([[[request URL] scheme] isEqualToString:@"mycustomdata"]) { 
     // insert your code here to actually load the correct data 
     return NO; 
    } 
} 

如果您的委託沒有被調用,那麼你有其他問題。我還建議實施didFailLoadWithError,webViewDidFinishLoad和webViewDidStartLoad。

相關問題