我的应用程序使用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;
我没有通过谷歌找到任何信息。谢谢你的帮助。
答案 0 :(得分: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"]]];
}];
答案 1 :(得分:4)
我找到了根本原因。
也许我错误地使用了UIWebView
,但它适用于iOS5和iOS6。
我不知道为什么它适用于早期的iOS版本......
此外,当我使用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];
}
我将loadRequest
从viewDidLoad
方法移到ViewWillAppear
方法,然后就可以了。
我想在我的旧版iOS7代码中可能没有正确初始化UIWebView
。