您好我的应用程序中有UIWebView
使用URL加载pdf
文件,其非常大的文件需要花费太多时间来加载。现在我想要显示喜欢其加载进度的用户,直到我的文件加载后加载我的pdf已隐藏进度条,我该如何实现?
我的网页视图代码。
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *pdf =@"http://jesusredeems.com/mag/pdf/JRE-2014-03.pdf";
NSURL *url = [NSURL URLWithString:pdf];
NSURLRequest *myRequest = [NSURLRequest requestWithURL:url];
[webview loadRequest:myRequest];
}
我正在使用上面的代码加载我的pdf
,如何使用进度条进行文件加载?
答案 0 :(得分:3)
您应该在webview委托方法中启动/停止进度条。
在viewDidLoad
。
webview.delegate = self;
在控制器中添加以下功能......
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
//Start the progressbar..
return YES;
}
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
//Stop or remove progressbar
}
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
//Stop or remove progressbar and show error
}
答案 1 :(得分:3)
是,为什么不,使用UIWebView
委托方法
- (void)viewDidLoad
{
[super viewDidLoad];
webview.delegate=self; //Assign Delegate
[webview loadRequest:myRequest];
[self showProgress];//Show Progress
}
使用以下代理
- (void)webViewDidFinishLoad:(UIWebView *)webView{
if(!webView.isLoading){ //This ensures whether the webview has finished loading..
[self hideProgress];
}
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
[self hideProgress];
}
干杯。