UIActivityIndicatorView(指示控制器)

来源:互联网 发布:程序员用英语怎么说 编辑:程序博客网 时间:2024/06/01 20:56

转载自 http://my.oschina.net/u/2340880/blog/402017


对于UIActivityIndicatorView的使用,我们一般会创建一个背景View,设置一定的透明度,然后将UIActivityIndicatorView贴在背景View上,在我们需要的时候将这个view呼出。

初始化UIActivityIndicatorView

- (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style;

这个风格是一个枚举,如下

typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) {

    //大号白色

    UIActivityIndicatorViewStyleWhiteLarge,

    //白色

    UIActivityIndicatorViewStyleWhite,

    //灰色

    UIActivityIndicatorViewStyleGray,

};


初始化之后,还需要给它一个Frame,但是只有前两个位置参数有效,大小参数将没有任何影响。

设置指示器风格:

@property(nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle; 

设置指示器是否停止动画时隐藏

@property(nonatomic) BOOL  hidesWhenStopped; 

设置指示器颜色

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

让指示器开始动画

- (void)startAnimating;

让指示器停止动画

- (void)stopAnimating;

获取指示器动画状态

- (BOOL)isAnimating;






用法如下:

#define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width

@property(nonatomic,strong) UIActivityIndicatorView* activityIndicatorView;


- (void)viewDidLoad {

    [superviewDidLoad];

    self.tableView.separatorStyle =UITableViewCellSelectionStyleNone;

    [self addNavigationPopBackButton];

    [self setNavigationTitle:@"扫描结果"Color:[UIColorwhiteColor]];

    self.tableView.separatorStyle =UITableViewCellSeparatorStyleNone;

    self.tableView.showsVerticalScrollIndicator =YES;

    UIImageView* bg = [[UIImageView allocinitWithFrame:CGRectMake(0,64,self.view.bounds.size.width,self.view.bounds.size.height)];

    [bg setImage:[UIImage imageNamed:@"result_bg"]];

    [self.view addSubview:bg];

    [self.view insertSubview:bgatIndex:0];

    //父视图透明度为零不影响子视图****

    self.tableView.backgroundColor=[[UIColorwhiteColor]colorWithAlphaComponent:0];


    //活动

    self.activityIndicatorView = [[UIActivityIndicatorViewalloc]

                                 initWithFrame:CGRectMake(SCREEN_WIDTH*0.5,69,80,80)];

    self.activityIndicatorView.centerCGPointMake(SCREEN_WIDTH*0.5,124);

    /**

     UIActivityIndicatorViewStyleWhiteLarge大型白色指示器

     UIActivityIndicatorViewStyleWhite标准尺寸白色指示器

     UIActivityIndicatorViewStyleGray灰色指示器,用于白色背景

     */

    self.activityIndicatorView.activityIndicatorViewStyle=UIActivityIndicatorViewStyleGray;

    [self.viewaddSubview:self.activityIndicatorView ];

}


- (void)viewWillAppear:(BOOL)animated{

    [superviewWillAppear:animated];

    //hidesWhenStopped默认为YES,会隐藏活动指示器。要改为NO

    self.activityIndicatorView.hidesWhenStopped=NO;

    [self.activityIndicatorViewstartAnimating];//启动

    [selfloadData];

}


-(void)loadData{

   

    [KSTraceInterfacetraceInterfaceWithProduct_ID:@"jyg00000003"success:^(AFHTTPRequestOperation *operation,NSDictionary *param, id retData) {

        [self.activityIndicatorViewstopAnimating];

        self.activityIndicatorView.hidesWhenStopped =YES;

        NSLog(@"%@",retData);

        self.dataSource = retData[@"list"];

        [self.tableViewreloadData];


        

    } failuer:^(AFHTTPRequestOperation *operation,NSDictionary *param, NSError *error){

        [self.activityIndicatorViewstopAnimating];

        self.activityIndicatorView.hidesWhenStopped =YES;



    }];

    

}

















0 0
原创粉丝点击