十四 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
版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS-app进入后台申请10分钟活跃时间

IOS允许长时间在后台运行的情况有7种:   audio   VoIP   GPS   下载新闻   和其它附属硬件进行通讯时   使用蓝牙进行通讯时   使用蓝牙共享数据时   除以...
  • super_man_ww
  • super_man_ww
  • 2016年09月21日 09:43
  • 2645

IOS开发(105)之处理不活动状态

1 前言 应用程序遇到的最简单的状态是从活动过渡到不活动,然后再返回到活动。今天我们进来用一个例子来看看其具体应用。 2 详述 这张的内容比较简单,就直接上代码了 ZYViewContro...
  • u010013695
  • u010013695
  • 2013年06月08日 13:43
  • 1974

京东某系统双十一内存飙升分析和解决方案

一、问题现象系统在双十一期间出现频繁内存飙升现象,内存在几天内直接飙升到报警阈值。在堆内存空间由3g调整到4g后,依然出现堆内存超过阈值问题,同时在重启若干次内存依然会飙升堆积。同时也发现了jvm一直...
  • kid_2412
  • kid_2412
  • 2016年12月01日 18:16
  • 1093

Andorid 自定义 类似iOS活动指示器 UIActivityIndicatorView

  • 2017年01月07日 20:33
  • 17KB
  • 下载

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

1、应用类UIApplication: UIApplication为应用提供了一个共享的实例,可以提供一些全局信息。调用方法如下: UIApplicaiton *myApplication = [UI...
  • shaqoneal
  • shaqoneal
  • 2013年12月14日 17:45
  • 1087

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

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

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

IOS学习笔记(八)之UIActivityIndicatorView(活动指示器视图)(博客地址:http://blog.csdn.net/developer_jiangqq)       Au...
  • jiangqq781931404
  • jiangqq781931404
  • 2014年03月04日 13:22
  • 5900

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

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

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

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

按钮添加活动指示器

点击按钮的同时为了是用户更加直接的看到正在执行的进度的变化或者正在执行的进程的状态,通常会在按钮上添加一个活动指示器来告诉用户 但是为了不影响UIbutton的使用可以使用类别增加方法属性 #impo...
  • qq_32010299
  • qq_32010299
  • 2016年05月15日 18:45
  • 225
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:十四 iOS之 活动指示器
举报原因:
原因补充:

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