11

我的应用程序使用 UIWebview,它在 iOS 5 和 iOS 6 中运行良好。但是,当我在 Xcode 5 中构建并运行相同的代码时,它不会在 iOS 7 中加载网页。

 - (void)webViewDidFinishLoad:(UIWebView *)webView {}
 - (void)webViewDidStartLoad:(UIWebView *)webView {}
 - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {}

不调用所有委托函数。但我确实在 xib 文件和代码中设置了委托

self.theWebView.delegate = self;

我没有通过谷歌找到任何信息。谢谢您的帮助。

4

2 回答 2

6

我将 loadRequest 方法移至 presentViewController 的完成处理程序,它适用于 iOS 5、6 和 7:

[self presentViewController:gwvc animated:YES completion:^(void){
    [gwvc.wv loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.walkjogrun.net/about/eukanuba.html"]]];
}];
于 2013-09-30T15:26:55.777 回答
4

我找到了根本原因。也许我用错UIWebView了,但它适用于 iOS5 和 iOS6。我不知道为什么它在早期的 iO​​S 版本中有效......

此外,当我使用 SDK 6.1 构建代码时,它可以在 iOS7 中使用。

这是我的旧代码。

     RechargeWebPageViewController *webPageViewController;
    webPageViewController = [[  RechargeWebPageViewController alloc] initWithNibName:@"WebPage" bundle:nil];
    if (webPageViewController != nil) {
        webPageViewController.hidesBottomBarWhenPushed = YES;
        webPageViewController.delegate=self;
        [self.navigationController pushViewController:webPageViewController animated:YES];
        NSURL *url = [NSURL URLWithString:@"https://xxx.php"];

        NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL: url];
        [webPageViewController loadRequest:request];
        [request release];
   }

我将方法loadRequestviewDidLoad方法移到ViewWillAppear方法,然后它起作用了。我认为UIWebView在我的 iOS7 旧代码中可能没有正确初始化。

于 2013-09-23T10:37:50.507 回答