转自:http://www.cnblogs.com/top5/archive/2012/05/17/2506623.html
UIActivityIndicatorView实例提供轻型视图,这些视图显示一个标准的旋转进度轮。当使用这些视图时,最重要的一个关键词是小。20×20像素是大多数指示器样式获得最清楚显示效果的大小。只要稍大一点,指示器都会变得模糊。
iPhone提供了几种不同样式的UIActivityIndicatorView类。UIActivityIndicator- ViewStyleWhite和UIActivityIndicatorViewStyleGray是最简洁的。黑色背景下最适合白色版本的外观,白色背景最适合灰色外观(如图4-7所示)。它非常瘦小,而且采用夏普风格。选择白色还是灰色时要格外注意。全白显示在白色背景下将不能显示任何内容。而UIActivityIndicatorViewStyleWhiteLarge只能用于深色背景。它提供最大、最清晰的指示器。
如果希望指示器停止后自动隐藏,那么要设置hidesWhenStoped属性为YES。默认是YES。设置为NO停止后指示器仍会显示。
activityIndicatorView.hidesWhenStoped = NO;
三、网络活动指示器
- 当你的应用程序使用网络时,应当在iPhone的状态条上放置一个网络指示器,警告用户正在使用网络。这时你可以用UIApplication的一个名为networkActivityIndicatorVisible的属性。通过设置这个可以启用或禁用网络指示器:UIApplication* app = [ UIApplication sharedApplication ];
- pp.networkActivityIndicatorVisible = YES;
下面代码实现进度轮的启动和停止:
#import "TPViewController.h" @interface TPViewController () @property(nonatomic, strong) UIActivityIndicatorView *active; @end @implementation TPViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. [self.view setBackgroundColor:[UIColor whiteColor]]; _active = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 60, 100)]; [_active setCenter:CGPointMake(160, 140)]; [_active setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge]; [self.view addSubview:_active]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (IBAction)btnClick:(UIButton *)sender { if([_active isAnimating]) { [_active stopAnimating]; } else { [_active startAnimating]; } } @end