在我的程序中uiwebview没有加载url地址。当我登录请求对象时不是null。但是,当我在weblog.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更改为代码.i使该类确认为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>
仍然没有被调用,我认为这两种方法都被调用了两次
答案 0 :(得分:6)
这是一个有效的代码,在您的应用程序中对此进行测试并让我们知道结果
<。>在.h文件中,添加UIWebViewDelegate
<。>在.m文件的viewDidLoad
中,添加:
UIWebView *webview=[[UIWebView alloc] initWithFrame:CGRectMake(0.0,0.0,320.0,460.0)];
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
webview.delegate = self;
[webview loadRequest:requestObj];
[self.view addSubview:webview];
现在检查代表是否正在加载页面:
- (void)webViewDidStartLoad:(UIWebView *)webView {
NSLog(@"page is loading");
}
-(void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"finished loading");
}
答案 1 :(得分:1)
试试这个
CGRect webFrame = CGRectMake(0.0, 0.0, 320.0, 460.0);
UIWebView *webView = [[UIWebView alloc] initWithFrame:webFrame];
NSString *urlAddress = @"http://www.google.com";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
[self addSubview:webView];
[webView release];