对于
UIActivityIndicatorView的使用,我们一般会创建一个背景View,设置一定的透明度,然后将UIActivityIndicatorView贴在背景View上,在我们需要的时候将这个view呼出。一般常用于加载UIWebView上。
代码示例
1.签UIWebView 协议<UIWebViewDelegate>
@property (nonatomic,strong)UIWebView *webView;
@property (nonatomic,retain)UIActivityIndicatorView *activityIndicator;
2.设置UIWebView
_webView = [[UIWebViewalloc]initWithFrame:CGRectMake(0,0,365,667)];
[_webViewsetUserInteractionEnabled:YES];
_webView.backgroundColor = [UIColorclearColor];
_webView.delegate =self;
[_webViewsetOpaque:NO];
_webView.scrollView.bounces = YES;
_webView.scalesPageToFit =NO;
[_webViewsetUserInteractionEnabled:YES];
_webView.backgroundColor = [UIColorclearColor];
_webView.delegate =self;
[_webViewsetOpaque:NO];
_webView.scrollView.bounces = YES;
_webView.scalesPageToFit =NO;
NSString *string =@"http://192.168.10.4:8080/HwjServer/page/H5/partner/partner_templates.html?id=2133";
NSURLRequest *request=[[NSURLRequestalloc]initWithURL:[NSURLURLWithString:string]];
[_webViewloadRequest:request];
3.设置View,UIActivityIndicatorView的使用会放在View上,所以写一个View
UIView *view = [[UIViewalloc]initWithFrame:CGRectMake(0,0,365,667)];
[view setTag:111];
self.automaticallyAdjustsScrollViewInsets =NO;
[view setBackgroundColor:[UIColorwhiteColor]];
[view setAlpha:0.8];
[view setTag:111];
self.automaticallyAdjustsScrollViewInsets =NO;
[view setBackgroundColor:[UIColorwhiteColor]];
[view setAlpha:0.8];
[self.viewaddSubview:view];
4.设置UIActivityIndicatorView
_activityIndicator = [[UIActivityIndicatorViewalloc]initWithFrame:CGRectMake(0.0f,0.0f,32.0f,32.0f)];
[_activityIndicatorsetCenter:view.center];
[_activityIndicatorsetCenter:view.center];
[_activityIndicatorsetActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
_activityIndicator.transform =CGAffineTransformMakeScale(1.5,1.5);
[view addSubview:_activityIndicator];
[view addSubview:_activityIndicator];
[self.viewaddSubview:_webView];
// setActivityIndicatorViewStyle样式选择
// typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) {
// //大号白色
// UIActivityIndicatorViewStyleWhiteLarge,
// //白色
// UIActivityIndicatorViewStyleWhite,
// //灰色
// UIActivityIndicatorViewStyleGray,
// };
// typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) {
// //大号白色
// UIActivityIndicatorViewStyleWhiteLarge,
// //白色
// UIActivityIndicatorViewStyleWhite,
// //灰色
// UIActivityIndicatorViewStyleGray,
// };
5.实现UIWebView 方法,同时调用UIActivityIndicatorView方法
//开始加载数据
- (void)webViewDidStartLoad:(UIWebView *)webView {
[_activityIndicatorstartAnimating];
}
//数据加载完
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[_activityIndicatorstopAnimating];
UIView *view = (UIView *)[self.viewviewWithTag:111];
[view removeFromSuperview];
- (void)webViewDidStartLoad:(UIWebView *)webView {
[_activityIndicatorstartAnimating];
}
//数据加载完
- (void)webViewDidFinishLoad:(UIWebView *)webView {
[_activityIndicatorstopAnimating];
UIView *view = (UIView *)[self.viewviewWithTag:111];
[view removeFromSuperview];
}
//设置指示器风格:
//
//@property(nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
//
//设置指示器是否停止动画时隐藏
//
//@property(nonatomic) BOOL hidesWhenStopped;
//
//设置指示器颜色
//
//@property (readwrite, nonatomic, retain) UIColor *color;
//
//让指示器开始动画
//
//- (void)startAnimating;
//
//让指示器停止动画
//
//- (void)stopAnimating;
//
//获取指示器动画状态
//
//
//@property(nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
//
//设置指示器是否停止动画时隐藏
//
//@property(nonatomic) BOOL hidesWhenStopped;
//
//设置指示器颜色
//
//@property (readwrite, nonatomic, retain) UIColor *color;
//
//让指示器开始动画
//
//- (void)startAnimating;
//
//让指示器停止动画
//
//- (void)stopAnimating;
//
//获取指示器动画状态
//
//- (BOOL)isAnimating;