十四 iOS之 活动指示器

原创 2017年11月15日 08:47:52

没错,它就是你在app加载数据时不愿意看到的那个玩意

效果图
这里写图片描述

  • 代码有注释,思路很清晰
  • ViewController.m
#import "ViewController.h"

@interface ViewController ()
/**要添加图层的view**/
@property (weak, nonatomic) IBOutlet UIView *orangeView;


@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    //新建复制图层
    CAReplicatorLayer * repLayer = [CAReplicatorLayer layer];

    repLayer.frame = _orangeView.bounds;

    [_orangeView.layer addSublayer:repLayer];

    //新建layer
    CALayer * layer = [CALayer layer];
    //位置
    layer.position = CGPointMake(_orangeView.bounds.size.width / 2, 20);
    layer.bounds = CGRectMake(0, 0, 10, 10);

    layer.backgroundColor = [UIColor blackColor].CGColor;
    //切圆角
    layer.cornerRadius = 5;
    layer.masksToBounds = YES;

    [repLayer addSublayer:layer];



    //设置缩放动画
    CABasicAnimation * anim = [CABasicAnimation animation];

    anim.keyPath = @"transform.scale";
    //由1缩放到0
    anim.fromValue = @1;
    anim.toValue = @0;

    anim.repeatDuration = MAXFLOAT;
    //动画执行时间
    CGFloat duration = 1;
    anim.duration = duration;

    [layer addAnimation:anim forKey:nil];


    //设置子层的形变角度
    int count = 20;
    CGFloat angle = M_PI * 2 / count;

    //设置子层总数
    repLayer.instanceCount = count;
    //每一个复制层的位置和上一个图层的位置相差 angle
    repLayer.instanceTransform = CATransform3DMakeRotation(angle, 0, 0, 1);

    //需要保证第一个执行完毕之后,绕一圈回来刚好还是第一个从头开始执行,因此需要把动画时长平均分给每个子层(假设有两个图层,总的动画时间为1秒,延长时间为0.5秒,当第一个执行到0.5秒的时候,第二个就开始执行,第二个执行完刚好1秒。所以公式如下)
    //动画延迟时间 = 每个图层的执行时间 / 子层总数
    repLayer.instanceDelay = duration / count;


}

@end
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

UIActivityIndicatorView、UIProgressView 活动与进度指示器-IOS开发

声明 欢迎转载,但是请尊重作者劳动成果,转载请保留此框内声明,谢谢。 文章出处:http://blog.csdn.net/iukey 活动指示器(UIActivityIndica...
  • iukey
  • iukey
  • 2012年03月01日 02:02
  • 14492

iOS7应用开发13:应用类UIApplication、网络活动指示器、地图

1、应用类UIApplication: UIApplication为应用提供了一个共享的实例,可以提供一些全局信息。调用方法如下: UIApplicaiton *myApplication = [UI...

IOS学习笔记(八)之UIActivityIndicatorView(活动指示器视图)的基本概念和使用方法

IOS学习笔记(八)之UIActivityIndicatorView(活动指示器视图)(博客地址:http://blog.csdn.net/developer_jiangqq)       Au...

UIWebView中添加活动指示器,来化解用户等待心理

UIWebView中添加活动指示器,来化解用户等待心理 序言:  在使用UIWebView中,在导入页面的过程中多少花费时间。为此,我们需要提醒用户当前正在进行数据导入,给用户展示“正在处理中。。...

优化版的App提示&活动指示器的提示

一、在App 开发中提示用户这样的功能非常常见。例如:用户有些不正确的操作后,App应给与相关的提示;还有在App 加载的内容的时候,为了消除用户着急的心里,我们进行一个活动指示器的提示等。。。 二...

按钮添加活动指示器

点击按钮的同时为了是用户更加直接的看到正在执行的进度的变化或者正在执行的进程的状态,通常会在按钮上添加一个活动指示器来告诉用户 但是为了不影响UIbutton的使用可以使用类别增加方法属性 #impo...

UIActivityIndicatorView活动指示器

UIActivityIndicatorView活动指示器   转载▼ 活动指示器(UIActivityIndicatorView)可以告知用户有一个操作正在进行中。派生自UIView,所...

活动指示器 UIActivityIndicatorView

活动指示器的创建@interface LRUIActivityIndicatorViewViewController ()/**活动指示器*/ @property(nonatomic,weak)UIA...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:十四 iOS之 活动指示器
举报原因:
原因补充:

(最多只允许输入30个字)