iOS开发-UIActivityIndicatorView简单使用

那年仲夏 提交于 2020-04-20 07:40:17

软件开发的时候经常会遇到半天才加载出来数据的情况,不管是程序写的烂,还是说本来网速比较慢,一般都都会给个提示让用户感觉到我们在努力的加载数据,iOS可以通过UIActivityIndicatorView实现类似的效果。UIActivityIndicatorView 提供轻型视图,会显示一个标准的旋转进度轮,只要添加到程序中,在合适的地方start和stop即可。start的时候可以吸附在当前视图中,stop的时候就会移除~

简答的效果:

实现方式如下:

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:

typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) { UIActivityIndicatorViewStyleWhiteLarge, UIActivityIndicatorViewStyleWhite, UIActivityIndicatorViewStyleGray, };

关闭动画:

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呼出。

初始化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;

 

学习使用 欢迎转载

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!