2014-07-25 51 views
0

我创建了一个UIWebView并且调用[webview loadRequest:url]。当webview没有父视图时,[webview isLoading]不断地返回false,并且- (void)webViewDidFinishLoad:(UIWebView *)webView委托从不被调用。UIWebView loadrequest没有父母

但是,如果我做的:self.view = webview;或将其添加到我目前的图形用户界面,该[isLoading]返回true,委托被称为..

有什么办法让它首先加载请求,调用该委托,然后我知道它成功加载后可以显示它?

+0

只需添加一个UIWebView上查看和[webView的setHidden:YES]直到加载完成。 – Ryan

+0

啊..这是有效的。有点烦人必须做,但它的工作原理。 – Brandon

回答

1

最初保留的网页视图隐藏[myWebView setHidden:true]一次webViewDidFinishLoad称为设置[myWebView setHidden:false]

.H

#import <UIKit/UIKit.h> 

@interface ViewController : UIViewController <UIWebViewDelegate> 
@property (weak, nonatomic) UIWebView *myWebView; 

.M

-(void)webViewDidFinishLoad:(UIWebView *)webView { 
    if (webView == myWebView) { 
     [webView setHidden:false]; 
    } 
} 

- (void)viewDidLoad { 
    [myWebView setDelegate:(id)self]; 
    [myWebView setHidden:true]; 
    [myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://apple.com"]]]; 

}