我有一个标签栏控件。第一个选项卡包含导航控件。在第二个标签上,我想加载一个网页(比如google.com)。我把代码编写为
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 :(得分:33)
知道什么是错的,你可以这样做。
- (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”对象与“界面构建器”中的插件连接起来吗?
谢谢,
答案 1 :(得分:3)
您必须使用https而不是http。如果您使用http,您将收到此错误消息(使用Ravin的代码查看错误):
“无法加载资源,因为App Transport Security策略要求使用安全连接。”
答案 2 :(得分: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];
答案 3 :(得分:0)
重新启动您的 IOS模拟器 这真的不明显,但最初在IOS模拟器上查看Safari中的一些网站 重启IOS模拟器后,我的 webView 在模拟器和设备上都成功打开。
请参阅此famous链接。