软件开发的时候常常会遇到半天才加载出来数据的状况,无论是程序写的烂,仍是说原本网速比较慢,通常都都会给个提示让用户感受到咱们在努力的加载数据,iOS能够经过UIActivityIndicatorView实现相似的效果。UIActivityIndicatorView 提供轻型视图,会显示一个标准的旋转进度轮,只要添加到程序中,在合适的地方start和stop便可。start的时候能够吸附在当前视图中,stop的时候就会移除~ide
简答的效果:学习
实现方式以下:动画
self.activityIndicatorView=[[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; self.activityIndicatorView.center=self.view.center; [self.activityIndicatorView setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray]; [self.activityIndicatorView setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge]; [self.activityIndicatorView setBackgroundColor:[UIColor lightGrayColor]]; [self.view addSubview:self.activityIndicatorView]; [self.activityIndicatorView startAnimating];
代码很简单,设置frame这个不用讲,关于style的设置,有三种白色和灰色,这两种的尺寸都是20*20,白色大图是37*37:atom
typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) { UIActivityIndicatorViewStyleWhiteLarge, UIActivityIndicatorViewStyleWhite, UIActivityIndicatorViewStyleGray, };
关闭动画:spa
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5* NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^{ [self.activityIndicatorView stopAnimating]; });
对于UIActivityIndicatorView的使用,咱们通常会建立一个背景View,设置必定的透明度,而后将UIActivityIndicatorView贴在背景View上,在咱们须要的时候将这个view呼出。code
初始化UIActivityIndicatorViewblog
- (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style;开发
这个风格是一个枚举,以下get
typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) { //大号白色 UIActivityIndicatorViewStyleWhiteLarge, //白色 UIActivityIndicatorViewStyleWhite, //灰色 UIActivityIndicatorViewStyleGray, };
初始化以后,还须要给它一个Frame,可是只有前两个位置参数有效,大小参数将没有任何影响。
it
设置指示器风格:
@property(nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
设置指示器是否中止动画时隐藏
@property(nonatomic) BOOL hidesWhenStopped;
设置指示器颜色
@property (readwrite, nonatomic, retain) UIColor *color;
让指示器开始动画
- (void)startAnimating;
让指示器中止动画
- (void)stopAnimating;
获取指示器动画状态
- (BOOL)isAnimating;
学习使用 欢迎转载