【发布时间】:2011-07-01 06:40:57
【问题描述】:
在我的程序中,uiwebview 没有加载 url 地址。当我 nslogged 时,请求对象不为 null。但是,当我 nslog webview.request 时,它返回 null。它没有加载的原因可能是什么
- (void)viewDidLoad {
[super viewDidLoad];
self.web = [[UIWebView alloc] init];
NSString *urlAddress = @"http://www.google.com";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
NSLog(@"%@",requestObj);
[self.web loadRequest:requestObj];
[web setFrame:CGRectMake(0, 0, 320, 370)];
NSLog(@"%@ %@",self.web,self.web.request);
}
nslog 结果是
<NSURLRequest http://www.google.com>
<UIWebView: 0xbb17ff0; frame = (0 0; 320 370); layer = <CALayer: 0xbb12f20>> (null)
根据该站点的建议,我将其从 IB 更改为代码。我让类确认到 uiwebview 委托。webviewdidstart 和 webview 都完成了调用,这些是这些方法的 nslog 输出
webviewdidstart
webView-----><NSMutableURLRequest >
webView-----><NSMutableURLRequest http://www.google.com>
webview 完成了
webView-finished----><NSMutableURLRequest http://www.google.com>
webView-finished----><NSMutableURLRequest http://www.google.com>
仍然没有被调用,我认为这两种方法都被调用了两次
【问题讨论】:
-
你的 UIWebview 是通过 IB 设置的吗?如果没有,首先将 webview 作为子视图添加到您的视图中。将 UIWebviewdelegate 添加到您的头文件中,并在您的实现文件中设置 webViewDidStartLoad: 委托。登录该方法以检查您的网页是否正在加载
-
我正在通过 IB 设置 webview...