2014-03-25 71 views
-2

我的UIWebView似乎並沒有被裝載:的UIWebView不加載查看

- (void)viewDidAppear:(BOOL)animated { 

[super viewDidAppear:animated]; 

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSString *urlAddress = [defaults stringForKey:@"webPage"]; 
NSLog(@"%@", urlAddress); 

NSURLRequest *requestObj = [NSURLRequest requestWithURL:[NSURL URLWithString:urlAddress]]; 
webView.delegate = self; 
[webView loadRequest:requestObj]; 

} 

這是一個UIViewController(通過IB連接)和google.com

回答

0

您可以檢查URL urlAddress返回被取回有效嗎?

NSString *urlAddress = [defaults stringForKey:@"webPage"]; 
    NSLog(@"%@", urlAddress); 
    NSURL *u = [NSURL URLWithString:urlAddress]; 
    if(u){ 
     NSURLRequest *requestObj = [NSURLRequest requestWithURL:u]; 
     webView.delegate = self; 
     [webView loadRequest:requestObj]; 
    }else{ 
     [[[UIAlertView alloc] initWithTitle:@"" message:@"invalid url." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil] show]; 
    } 

google.com不是一個有效的網址,它應該是http://www.google.com。所以,這可能就是這個問題。

+0

它是有效的以http: – asdasdasd

0

試試這個代碼:

- (void)viewDidAppear:(BOOL)animated 
    { 
     [super viewDidAppear:animated]; 
     webView.delegate = self; 
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
     NSString *urlAddress = [defaults stringForKey:@"webPage"]; 
     NSLog(@"%@", urlAddress); 
     [self openURLFromString:urlAddress]; 
    } 

    - (void) openURLFromString:(NSString*) urlString 
    { 
     NSURL *url = [self validateAddress:urlString]; 
     NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url]; 
     [webView loadRequest:request]; 
    } 

    - (NSURL*) validateAddress:(NSString*) address 
    { 
     NSURL* result = [NSURL URLWithString:address]; 
     if (!result.scheme) 
     { 
      NSString* modifiedURLString = [NSString stringWithFormat:@"http://%@", address]; 
      result = [NSURL URLWithString:modifiedURLString]; 
     } 

     return result; 
    } 

    #pragma mark - UIWebViewDelegate 
    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSMutableURLRequest *)urlRequest navigationType:(UIWebViewNavigationType)navigationType 
    { 
     return YES; 
    } 
0

你錯過基礎上的網址(Click here to read more about this),這是必要的一部分。

那麼試試這個:

- (void)viewDidAppear:(BOOL)animated { 

[super viewDidAppear:animated]; 

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSString *urlAddress = [defaults stringForKey:@"webPage"]; 
NSString * theURL = [NSString stringWithFormat:@"http://%@", urlAddress]; // you can also use stringByAppendingString if you prefer 
NSLog(@"%@", theURL); 

NSURLRequest *requestObj = [NSURLRequest requestWithURL:[NSURL URLWithString:theURL]]; 
webView.delegate = self; 
[webView loadRequest:requestObj]; 

} 

HTH :)