iOS:风火轮活动刷新视图控件UIActivityIndicatorView的详细使用

动态风火轮视图控件:UIActivityIndicatorView

 
介绍:它是一种类似于风火轮旋转的视图控件,可用作刷新数据时显示加载过程所用,继承自UIView。
 
类型:

typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) {

    UIActivityIndicatorViewStyleWhiteLarge,  //大的白色类型

    UIActivityIndicatorViewStyleWhite,         //白色类型

    UIActivityIndicatorViewStyleGray,         //灰色类型

};

 

属性:

@property(nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle; //类型

@property(nonatomic) BOOL hidesWhenStopped;      //当停止时是否隐藏      

@property (readwrite, nonatomic, retain) UIColor *color ; //颜色

 

方法:

- (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style;  //创建实例的初始化方法

- (void)startAnimating; //开始动画

- (void)stopAnimating; //停止动画

- (BOOL)isAnimating;  //是否正在动画

@end

 

实例如下:在方法- (void)viewDidLoad {  [super viewDidLoad];....}中添加代码如下

    //创建活动视图控件实例

1     UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

 

    //设置该实例的位置

1     activityView.center = CGPointMake(170, 200);

 

    //设置控制器视图背景颜色

1     [self.view setBackgroundColor:[UIColor redColor]];

   

    //添加该控件到视图中

1     [self.view addSubview:activityView];

 

    //开始动画

1     [activityView startAnimating];

 

    //设置动画停止时是否隐藏

1     activityView.hidesWhenStopped = YES;

 

    //使用定时器,规定3秒时动画停止

1     [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(test:) userInfo:activityView repeats:NO];

 

    //开始应用程序的网络活动刷新动画

1     UIApplication *app = [UIApplication sharedApplication];
2     [app setNetworkActivityIndicatorVisible:YES];

 

#pragma mark -test定时器事件

-(void)test:(NSTimer*)sender
{
    //取出该控件实例
    UIActivityIndicatorView *activityView = [sender userInfo];
    
    //停止动画
    [activityView stopAnimating];
    
    //停止应用程序的网络活动刷新动画
    UIApplication *app = [UIApplication sharedApplication];
    [app setNetworkActivityIndicatorVisible:NO];
}

 

演示结果:

两个风火轮都开始动画:网络旁边一个,视图中一个                         两个风火轮都在定时器的时间点同时停止动画:

       

posted @ 2015-09-30 17:33  XYQ全哥  阅读(545)  评论(0编辑  收藏  举报