layer的各种属性代码示例:

 - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view. // 设置图片为圆角 (self.qweImageView.frame.size.width / 2 变成圆形)
self.imageView.layer.cornerRadius = self.imageView.frame.size.width / ;
// self.imageView.layer.masksToBounds = YES;
// 注意:光设置上边一句代码是实现不了效果的(下边的maskToBounds这个属性影响layer层的阴影效果)
// 设置layer的阴影颜色
self.imageView.layer.shadowColor = [UIColor blueColor].CGColor;
// 设置layer的透明度
self.imageView.layer.shadowOpacity = 0.5f;
// 设置阴影偏移量
self.imageView.layer.shadowOffset = CGSizeMake(-, );
// 设置阴影的模糊度
self.imageView.layer.shadowRadius = ; // 创建View
UIView *myView = [[UIView alloc] init];
myView.backgroundColor = [UIColor redColor];
// 设置frame
myView.frame = CGRectMake(, , , );
// 设置视图圆角 (self.qweImageView.frame.size.width / 2 如果是方形视图变成圆形)
myView.layer.cornerRadius = myView.frame.size.width / ;
// 设置阴影颜色
myView.layer.shadowColor = [UIColor lightGrayColor].CGColor;
// 设置阴影偏移量
myView.layer.shadowOffset = CGSizeMake(, );
// 设置阴影的透明度
myView.layer.shadowOpacity = 0.8f;
// 设置阴影的模糊度
myView.layer.shadowRadius = ;
// 添加到View上
[self.view addSubview:myView]; [self customLayer];
} - (void)customLayer {
// 创建一个layer对象
CALayer *layer = [CALayer layer];
// 设置对象的位置和大小
layer.frame = CGRectMake(, , , );
// 设置背景颜色
layer.backgroundColor = [UIColor redColor].CGColor;
// 设置锚点
// layer.anchorPoint = CGPointMake(0, 0);
// 设置大小
layer.position = CGPointMake(, );
// layer需要添加到layer层
[self.view.layer addSublayer:layer];
}
 #pragma mark - CABasicAnimation
- (IBAction)CABasicAnimation:(id)sender { // 第一步:创建动画对象
CABasicAnimation *basicAnimation = [CABasicAnimation animation];
// 第二步:告诉layer层需要执行什么样的动画(后边设置的内容为CALayer的相关属性)
basicAnimation.keyPath = @"position"; // position 改变位置的
// 第三步:告诉layer从哪里来,到哪里去
basicAnimation.fromValue = [NSValue valueWithCGPoint:CGPointMake(, )];
basicAnimation.toValue = [NSValue valueWithCGPoint:CGPointMake(, )];
// 注意点: 如果要实现图片不会到原来点,需要以下两句代码
basicAnimation.removedOnCompletion = NO;
// 设置保存动画状态的内容
basicAnimation.fillMode = kCAFillModeForwards; // 第四步:设置动画持续的时长
basicAnimation.duration = 6.0f;
// 第五步:将要执行的动画添加到calayer上
[self.imageView.layer addAnimation:basicAnimation forKey:@"basic"];
// *************翻转效果
CABasicAnimation *basic = [CABasicAnimation animation];
basic.keyPath = @"transform";
// 设置翻转的地方
basic.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI_2, , , )];
basic.duration = 0.2f;
[self.imageView.layer addAnimation:basic forKey:@"aaaa"];
// 根据key去移除动画
// [self.imageView.layer removeAnimationForKey:@"basic"];
} #pragma mark - CAKeyframeAnimation
- (IBAction)CAKeyAnimation:(id)sender {
// 第一步:创建对象
CAKeyframeAnimation *keyAnimation = [CAKeyframeAnimation animation];
// 第二步:设置动画轨迹
keyAnimation.keyPath = @"transform.rotation";
// 第三步:设置翻转的角度 (弧度计算公式:度数/180*M_PI)
keyAnimation.values = @[@(- / 180.0 * M_PI), @( / 180.0 * M_PI), @(- / 180.0 * M_PI)];
// 第四步:设置时长
keyAnimation.duration = 15.0f;
// 第五步:添加动画到layer层
[self.view.layer addAnimation:keyAnimation forKey:@"bbbb"];
} #pragma mark - CAAnimationGroup
- (IBAction)CAAnimationGroup:(id)sender {
// 平移动画
CABasicAnimation *basic1 = [CABasicAnimation animation];
basic1.keyPath = @"transform.translation.y"; // 按照y轴平移
basic1.toValue = @();
// 缩小动画
CABasicAnimation *basic2 = [CABasicAnimation animation];
basic2.keyPath = @"transform.scale"; // 缩小
basic2.toValue = @(0.3);
// 旋转动画
CABasicAnimation *basic3 = [CABasicAnimation animation];
basic3.keyPath = @"transform.rotation"; // 旋转
basic3.toValue = @(M_PI); // 需要创建管理各个动画的动画组
CAAnimationGroup *group = [CAAnimationGroup animation];
group.animations = @[basic1,basic2,basic3];
// group 会自动分配时间
group.duration = 5.0f; [self.imageView.layer addAnimation:group forKey:@"ccccc"];
} #pragma mark - CASpring
- (IBAction)CASpring:(id)sender {
// 设置对象
CASpringAnimation *spring = [CASpringAnimation animation];
spring.keyPath = @"transform.scale";
spring.fromValue = @;
spring.toValue = @0.2;
spring.duration = 3.0f; [self.imageView.layer addAnimation:spring forKey:@"ddddd"];
}

layer 的常用属性的更多相关文章

  1. ios基础篇(四)——UILabel的常用属性及方法

    UILabel的常用属性及方法:1.text //设置和读取文本内容,默认为nil label.text = @”文本信息”; //设置内容 NSLog(@”%@”, label.text); //读 ...

  2. UIView之常用属性

    UIView之常用属性 1. view.tag = 200; // 系统保留0-1002. view.frame = CGRectMake(20, 30, 300, 300);3. view.cent ...

  3. UIView的一些常用属性和方法

    UIView的一些常用属性和方法 1. UIView的属性 UIView继承自UIResponder,拥有touches方法. - (instancetype)initWithFrame:(CGRec ...

  4. web 开发:CSS3 常用属性——速查手册!

    web 开发:CSS3 常用属性——速查手册! CSS3 简介:http://www.runoob.com/css3/css3-intro.html 1.目录 http://caniuse.com/ ...

  5. UIView常用属性与方法/UIKit继承结构

    UIView常用属性与方法 @interface UIView : UIResponder<NSCoding, UIAppearance, UIAppearanceContainer, UIDy ...

  6. 【Android自学日记】五大布局常用属性

    线性布局(LinearLayout)常用属性: android:orientation="vertical"--决定子类控件的排布方式(vertical垂直:horizontal水 ...

  7. DataGrid中的常用属性

    DataGrid中的常用属性 $('#dg').datagrid({ url:'datagrid_data.json', columns:[[ {field:'code',title:'Code',w ...

  8. Node.js process 模块常用属性和方法

    Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...

  9. ImageView的常用属性

    ImageView的一些常用属性,并且这些属性都有与之对应的getter.setter方法: android:adjustViewBounds:设置ImageView是否调整自己的边界来保持所显示图片 ...

随机推荐

  1. Clementine 12.0 的使用(因为比较少用,项目中用到才开始接触写一下自己的使用方法)

    首先我是根据excel的文件做的训练,就以excel来做介绍 1.打开Clementine 12.0 软件 点击软件下方的 ”源“ 即你要做训练的数据源.因为是excel文件双击excel. 2.双击 ...

  2. 虎说:bootstrap源码解读(重置模块)

    ------<!--action-->------ 开场show:前不生“不犹豫”,后半生“不后悔”.今天又逃课,我不后悔 素材:推特公司的前端框架bootstrap(下称bt),解读源码 ...

  3. 2015.8.2 jdbc实现商品类的增删查改

    在惠普济宁基地进行了两周sql和java的学习,学到很多东西 刚才实现了用jdbc访问数据库对数据库进行操作,是用eclipse写的,过几天移植到NetBeans上,个人还是比较习惯看图形化界面 前几 ...

  4. NSFileManager的应用

    单例,是在 一个文件中只创建一次就能够全部一起共享,多创建的地址是相同的 NSFileManager *manager=[NSFileManager defaultManager]; 是一个单例   ...

  5. 五毛的cocos2d-x学习笔记06-处理用户交互

    前几篇感觉自己在写教育文章,╮(╯▽╰)╭.今天换成开发者的口吻,毕竟我也是在边学边写博客. 处理用户交互包括:单点触摸.多点触摸.事件传递.传感器.物理按键等部分. 单点触摸: 触摸事件传递顺序 o ...

  6. Android应用开发提高篇(4)-----Socket编程(多线程、双向通信)

    链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/04/2379628.html 一.概述 关于Socket编程的基本方法在基础篇里已经讲过,今天把 ...

  7. [Swust OJ 403]--集合删数

    题目链接:http://acm.swust.edu.cn/problem/403/ Time limit(ms): 5000 Memory limit(kb): 65535   Description ...

  8. 《码农周刊》干货精选(Python 篇)

    <码农周刊>已经累计发送了 38 期,我们将干货内容进行了精选.此为 Python 篇. <码农周刊>往期回顾:http://weekly.manong.io/issues/ ...

  9. 10条PHP编程习惯

    过去的几周对我来说是一段相当复杂的经历.我们公司进行了大裁员,我是其中之一,但却体验到了其中的乐 趣.我从来没有被开除过,所以很难不去想得太多.我开始浏览招聘板块,一个全职PHP程序员的职位很吸引人, ...

  10. 使用 IIS Manager 对 Windows Azure 网站进行远程管理

     最近,我们为客户新增了使用 Windows自带的 IIS管理控制台管理 Azure网站的功能.IIS Manager支持 HTTP over SSL,提供到您的 Windows Azure 网站 ...