当网络已经加载时如何让活动指示器停止?
How to get a activityindicator stop when the web load already?
我有一个 webview 和一个 activityIndicator,我希望 activityIndicator 在 URL 加载时停止。我有这个:
XYZViewController.h
@interface XYZViewController : UIViewController <UIWebViewDelegate>
@property (weak, nonatomic) IBOutlet UIWebView *browser;
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *activityIndicator;
@end
XYZViewController.m
-(void)viewDidLoad {
[super viewDidLoad];
self.activityIndicator.hidden = NO;
[self.activityIndicator startAnimating];
NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.google.com"]];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
[self.browser loadRequest:request];
}
-(void) webViewDidFinishLoad:(UIWebView *)webView {
[self.activityIndicator stopAnimating];
self.activityIndicator.hidden = YES;
}
AppDelegate.m
XYZViewController* viewVC = [XYZViewController alloc]init];
viewVC.browser.delegate = viewVC;
我不知道那是错的?
有人帮帮我吗?
按照@puzzl 的建议进行操作,然后将其添加到 webViewDidStartLoad:
而不是 viewDidLoad
- (void)viewDidLoad {
...
self.browser.delegate = self
...
}
- (void)webViewDidStartLoad:(UIWebView *)webView {
self.activityIndicator.hidden = NO;
[self.activityIndicator startAnimating];
}
我有一个 webview 和一个 activityIndicator,我希望 activityIndicator 在 URL 加载时停止。我有这个:
XYZViewController.h
@interface XYZViewController : UIViewController <UIWebViewDelegate>
@property (weak, nonatomic) IBOutlet UIWebView *browser;
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *activityIndicator;
@end
XYZViewController.m
-(void)viewDidLoad {
[super viewDidLoad];
self.activityIndicator.hidden = NO;
[self.activityIndicator startAnimating];
NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.google.com"]];
NSURLRequest* request = [NSURLRequest requestWithURL:url];
[self.browser loadRequest:request];
}
-(void) webViewDidFinishLoad:(UIWebView *)webView {
[self.activityIndicator stopAnimating];
self.activityIndicator.hidden = YES;
}
AppDelegate.m
XYZViewController* viewVC = [XYZViewController alloc]init];
viewVC.browser.delegate = viewVC;
我不知道那是错的?
有人帮帮我吗?
按照@puzzl 的建议进行操作,然后将其添加到 webViewDidStartLoad:
而不是 viewDidLoad
- (void)viewDidLoad {
...
self.browser.delegate = self
...
}
- (void)webViewDidStartLoad:(UIWebView *)webView {
self.activityIndicator.hidden = NO;
[self.activityIndicator startAnimating];
}