2012-12-27 77 views
1

我試圖加載UIWebView,但我不明白爲什麼不工作,我這樣做:的UIWebView無法加載

Loading *load = [[Loading alloc] init]; 
[load searchName]; 

然後Loading.h

@interface Loading : NSObject <UIWebViewDelegate> 
{ 
UIWebView *myWebView; 
} 

- (void) searchName; 

Loading.m

- (void) searchName{ 

myWebView = [[UIWebView alloc] init]; 
myWebView.delegate = self; 

NSString *urlAddress = @"www.google.com"; 
//Create a URL object. 
NSURL *url = [NSURL URLWithString:urlAddress]; 

//URL Requst Object 
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 

//Load the request in the UIWebView. 
[myWebView loadRequest:requestObj]; 
} 

- (void)webViewDidFinishLoad:(UIWebView *)thisWebView 
{ 
NSString *yourHTMLSourceCodeString = [myWebView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"]; 

NSLog(@"%@",yourHTMLSourceCodeString); 
} 

爲什麼從來不叫webViewDidFinishLoad方法?

+0

因爲你缺少你的URL中的http協議? – Lefteris

+0

不,我也嘗試過http,但不起作用... – Piero

+0

你嘗試過http://嗎?另外,你爲什麼要分配另一個webView?如果您使用的是.xib,那麼您應該附加webView,而不是分配一個新的。特別是因爲你從來沒有將webView添加到框架中。 – Josiah

回答

0

未顯示您的WebView原因是你已經採取NSObject類和NSObject類不具有XIB和你所做的只是打電話給你-(void)searchName方法,而不是將其添加到self.view的方式。

0

您是否使用IB創建了此webview?你是否將代表連接到了webview?

  1. 試圖抓住錯誤與webView:didFailLoadWithError:(後他們是否有錯誤)
  2. 嘗試設置委託的代碼[myWebView setDelegate:self];self.myWebView.delegate = self;

檢查委託的輸出,如果沒有happend:

self.myWebView.delegate = self; 
NSLog(@"%@",self); 
0

是的,記下納森所說的。我只是擴大。

如果您使用IB,請連接插座。然後使用[myWebView setDelegate:self];

一定要使用http://。 Http自己不會做任何事情。

你可以得到其他URL加載?

最後,我有一個Cocoa的開源基本Web瀏覽器,你可以看看。

Basic Web Browser