2011-04-13 114 views
17

我有一個標籤欄控件。第一個選項卡包含導航控件。在第二個標籤上,我想加載一個網頁(比如google.com)。我寫的代碼爲URL在UIWebView中不加載

NPIViewController.h

@interface NPIViewController : UIViewController { 
    IBOutlet UIWebView *webView; 
} 
@property (nonatomic,retain) IBOutlet UIWebView *webView; 
@end 

NPIViewController.m

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSURL *url = [NSURL URLWithString:@"http://www.google.com"]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
    [webView setScalesPageToFit:YES];   
    [self.webView loadRequest:request];    
} 

頁面只是不加載。沒有編譯或運行時錯誤。這有什麼問題?

+0

它顯示的東西?它工作嗎? – Ravin 2011-04-13 06:41:43

回答

31

要知道最新錯誤,你可以做到這一點。

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    webView.delegate = self; 
    NSURL *url = [NSURL URLWithString:@"http://www.google.com"]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
    [webView setScalesPageToFit:YES];   
    [self.webView loadRequest:request];    
} 

在類

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error 
{ 
    NSLog(@"Error : %@",error); 
} 

我希望你能連接webView的對象,其在Interface Builder出口增加這種新方法?

感謝,

+0

Ravin,我加了這個方法。但控制檯上沒有任何東西。沒有頁面加載。我也從IB連接了webView。 – 2011-04-13 06:44:24

+0

是webView被聲明爲屬性?如果不是,則不使用[self.webView loadRequest:request];使用[webView loadRequest:request]; (從self.webView刪除self)謝謝 – Ravin 2011-04-13 06:47:17

+0

在.h文件中,我將webView作爲屬性。你能驗證我提到的代碼嗎?這是對的嗎?我只是從網上的示例代碼中獲得它。 – 2011-04-13 06:50:46

2

創建你webView的

IBOutlet UIWebView *webView; 

試試這個代碼

NSString *urlAddress = @"http://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. 
[webView loadRequest:requestObj]; 
0

重啓IOS模擬器
這真的不是很明顯,但起初在IOS模擬器的Safari瀏覽器中檢查一些網站。
重啓IOS模擬器後,我的webView在模擬器和設備上都成功打開。

看到這個famous鏈接。

3

你必須使用https而不是http。如果您使用http,您將收到此錯誤消息(使用Ravin的代碼查看錯誤):

「由於App Transport安全策略要求使用安全連接,因此無法加載資源。」