iOS——UIActivityIndicatorView活动指示器
活动指示器(UIActivityIndicatorView)可以告知用户有一个操作正在进行中。派生自UIView,所以他是视图,也可以附着在视图上。
一.创建
- UIActivityIndicatorView* activityIndicatorView = [ [ UIActivityIndicatorView alloc ]
initWithFrame:CGRectMake(250.0,20.0,30.0,30.0)];
- activityIndicatorView.activityIndicatorViewStyle= UIActivityIndicatorViewStyleGray;
- UIActivityIndicatorViewStyleWhiteLarge 大型白色指示器
- UIActivityIndicatorViewStyleWhite 标准尺寸白色指示器
1.UIActivityIndicatorViewStyleGray 灰色指示器,用于白色背景
- activityIndicatorView.hidesWhenStoped = NO;
三.显示
可以将它附着在任何视图上,比如表格单元、或者视图:
- [ self.view addSubview:activityIndicatorView ];
- [ activityIndicatorView startAnimating ];//启动
- [ activityIndicatorView stopAnimating ];//停止
- 当你的应用程序使用网络时,应当在iPhone的状态条上放置一个网络指示器,警告用户正在使用网络。这时你可以用UIApplication的一个名为networkActivityIndicatorVisible的属性。通过设置这个可以启用或禁用网络指示器:UIApplication* app = [ UIApplication sharedApplication ];
- pp.networkActivityIndicatorVisible = YES;
#import "ViewController.h"
@interface ViewController ()
@property(nonatomic,retain)UIActivityIndicatorView *act;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
//创建
self.act=[[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(100, 100, 50, 50)];
//设置 风格;
self.act.activityIndicatorViewStyle=UIActivityIndicatorViewStyleGray;
//设置活动指示器的颜色
self.act.color=[UIColor redColor];
//hidesWhenStopped默认为YES,会隐藏活动指示器。要改为NO
self.act.hidesWhenStopped=NO;
//启动
[self.act startAnimating];
//停止
[self.act stopAnimating];
[self.view addSubview:self.act];
}
IOS - 网络指示器
#pragma mark Activity methods
- (void)openActivity
{
// 添加网络指示器
activityIV = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
[activityIV setFrame:CGRectMake(0, 0, 30, 30)];
[activityIV setCenter:CGPointMake(self.view.center.x, self.view.center.y)];
[self.view addSubview:activityIV];
[activityIV setHidesWhenStopped:YES];
[activityIV setHidden:NO];
[activityIV startAnimating];
// 在状态栏显示有网络请求的提示器
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
}
- (void)closeActivity
{
// 关闭网络指示器
[activityIV setHidden:YES];
[activityIV stopAnimating];
// 在状态栏关闭有网络请求的提示器
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}