在我的程序中,uiwebview没有加载url地址.当我登录请求对象时不是null.但是当我登录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);
}
Run Code Online (Sandbox Code Playgroud)
nslog结果是
<NSURLRequest http://www.google.com>
<UIWebView: 0xbb17ff0; frame = (0 0; 320 370); layer = <CALayer: 0xbb12f20>> (null)
Run Code Online (Sandbox Code Playgroud)
根据这个网站的建议,我把它从IB改为编码.i让班级确认给uiwebview委托.. webviewdidstart和webview完成后被称为这些是来自这些方法的nslog输出
webviewdidstart
webView-----><NSMutableURLRequest >
webView-----><NSMutableURLRequest http://www.google.com>
Run Code Online (Sandbox Code Playgroud)
webview确实完成了
webView-finished----><NSMutableURLRequest http://www.google.com>
webView-finished----><NSMutableURLRequest http://www.google.com>
Run Code Online (Sandbox Code Playgroud)
仍然没有被调用,我认为这两种方法都被调用了两次
这是一个有效的代码,在您的应用程序中测试它,让我们知道结果
在.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];
Run Code Online (Sandbox Code Playgroud)
现在检查代表是否正在加载页面:
- (void)webViewDidStartLoad:(UIWebView *)webView {
NSLog(@"page is loading");
}
-(void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"finished loading");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10609 次 |
| 最近记录: |