url 未在 UIWebView 中加载
Posted
技术标签:
【中文标题】url 未在 UIWebView 中加载【英文标题】:url not loading in UIWebView 【发布时间】:2011-08-04 10:55:10 【问题描述】:我有一个标签栏控件。第一个选项卡包含一个导航控件。在第二个标签上,我想加载一个网页(比如 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];
页面只是没有加载。没有编译或运行时错误。这有什么问题?
【问题讨论】:
它显示了什么吗?有效吗? 【参考方案1】:要知道什么是错的,你可以这样做。
- (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);
我希望你已经在 Interface builder 中连接了 webView 对象和它的出口?
谢谢,
【讨论】:
Ravin,我添加了这个方法。但控制台上什么都没有。没有页面加载。我还从 IB 连接到 webView。 webView 是否被声明为属性?如果不是,那么不要使用 [self.webView loadRequest:request];使用 [webView loadRequest:request];这个。(从 self.webView 中删除 self.)谢谢 在 .h 文件中,我将 webView 作为属性。你能验证我提到的代码吗?这是正确的吗?我只是从网上的示例代码中获取的。 你是否设置了委托,正如我在上面的代码中所写的那样 webView.delegate = self?尝试不使用 self.webView,使用 webView。 未来谷歌用户:要删除编译器警告,您可能需要在 AppDelegate 界面中实现创建你的 web 视图
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】:重新启动您的 IOS 模拟器。 这真的不明显,但首先在 ios 模拟器上检查 Safari 中的一些站点。 IOS 模拟器重启后,我的 webView 在模拟器和设备上都成功打开了。
查看此famous 链接。
【讨论】:
【参考方案4】:您必须使用 https 而不是 http。如果你使用 http 你会得到这个错误信息(使用 Ravin 的代码来查看错误):
“无法加载资源,因为应用传输安全策略要求使用安全连接。”
【讨论】:
以上是关于url 未在 UIWebView 中加载的主要内容,如果未能解决你的问题,请参考以下文章
Google Adsense 广告未在 UIWebView 中加载