【问题标题】:uiwebview not loading the web pageuiwebview 不加载网页
【发布时间】: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...

标签: iphone uiwebview


【解决方案1】:

这是一个有效的代码,在您的应用程序中测试它并让我们知道结果

在.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");
 }

【讨论】:

    【解决方案2】:

    这样试试

     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];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-21
      • 1970-01-01
      • 2012-02-05
      • 2015-10-14
      • 1970-01-01
      • 2013-02-08
      相关资源
      最近更新 更多