一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

iOS开发中UIActivityIndicatorView活动指示器的用法

时间:2016-04-23 编辑:简简单单 来源:一聚教程网

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

活动指示器一般用在进行网络请求的时候,因为UIActivityIndicatorView是系统自带的类,所以还是推荐使用的。


UIActivityIndicatorView *activityIndicatorView = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];// 活动指示器
activityIndicatorView.center = self.view.center;
activityIndicatorView.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge; // 活动指示器的样式
//共有3种:UIActivityIndicatorViewStyleWhiteLarge,UIActivityIndicatorViewStyleWhite,UIActivityIndicatorViewStyleGray
[self.view addSubview:activityIndicatorView];
 
//isAnimating 用于判断是否正在转动
[activityIndicatorView startAnimating]; // 让活动指示器转起来,一般在进行网络请求开始之前调用
[activityIndicatorView stopAnimating];  // 与startAnimating对应,在拿到数据之后调用


下面代码实现进度轮的启动和停止:

- (void)viewDidLoad

{

    activity = [[UIActivityIndicatorViewalloc] initWithFrame:CGRectMake(0, 0, 30, 30)];//指定进度轮的大小

    [activitysetCenter:CGPointMake(160, 140)];//指定进度轮中心点

    [activitysetActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge];//设置进度轮显示类型

    [self.viewaddSubview:activity];

    [superviewDidLoad];

//button点击所触发的方法。 启动或关闭进度轮。

- (IBAction)startOrStop:(id)sender{

    if([activityisAnimating]){

        [activitystopAnimating];

    }

    else

        [activitystartAnimating];

点击启动进度轮

在此点击停止进度轮
Loading效果 UIActivityIndicatorView

//初始化:
UIActivityIndicatorView* indicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];
//设置显示样式,见UIActivityIndicatorViewStyle的定义
indicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
//设置显示位置
[indicator setCenter:CGPointMake(self.frame.size.width / 2, self.frame.size.height / 2)];
//设置背景色
indicator.backgroundColor = UIColor.gray.
//设置背景透明
indicator.alpha = 0.5;
//设置背景为圆角矩形
indicator.layer.cornerRadius = 6;
indicator.layer.masksToBuounds = YES;
//将初始化好的indicator add到view中
[view addSubView:indicator];
//开始显示Loading动画
[indicator startAnimating];
//停止显示Loading动画
[indicator stopAnimating];
复制代码

热门栏目