2019独角兽企业重金招聘Python工程师标准>>>

//

//  ViewController.m

//  CALayer12.22

//

//  Created by dc008 on 15/12/22.

//  Copyright © 2015年 崔晓宇. All rights reserved.

//

#import "ViewController.h"

#define WIDTH [UIScreen mainScreen].bounds.size.width

#define HEIGHT [UIScreen mainScreen].bounds.size.height

#define LayerWidth 50

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

CALayer *layer = [[CALayer alloc]init];

//设置宽高

layer.bounds = CGRectMake(0, 0, LayerWidth, LayerWidth);

layer.position = CGPointMake(WIDTH/2.0, HEIGHT/2.0);

layer.backgroundColor = [UIColor colorWithRed:0.3 green:0.2 blue:0.7 alpha:0.7].CGColor;

[self.view.layer addSublayer:layer];

//设置圆角

layer.cornerRadius = LayerWidth/ 2;

//设置阴影

layer.shadowColor = [UIColor grayColor].CGColor;

//阴影偏移量

layer.shadowOffset = CGSizeMake(2, 2);

//阴影透明度(0-1),默认是0

layer.shadowOpacity = 0.9;

NSLog(@"CALayer内存地址:%@",layer);

//(mao)锚点 (x和y的范围0-1)

//    layer.anchorPoint = CGPointMake(1, 1);

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

//获取点击位置

UITouch *touch = [touches anyObject];

NSLog(@"点击的位置是:%@",NSStringFromCGPoint([touch locationInView: self.view]));

//获取layer

NSLog(@"%@",self.view.layer.sublayers);

CALayer *layer = [[CALayer alloc]init];

layer = self.view.layer.sublayers[2];

layer.position = [touch locationInView:self.view];

//放大

CGFloat width = layer.bounds.size.width;

if (width == LayerWidth) {

width = LayerWidth * 4;

}

else {

width = LayerWidth;

}

layer.bounds = CGRectMake(0, 0, width, width);

layer.cornerRadius = width/2;//圆角是根据当前图形宽度来设置

}

@end

转载于:https://my.oschina.net/u/2499773/blog/549405

IOS CALayer相关推荐

  1. IOS CALayer的属性和使用

    一.CALayer的常用属性 1.@propertyCGPoint position;  图层中心点的位置,类似与UIView的center:用来设置CALayer在父层中的位置:以父层的左上角为原点 ...

  2. iOS - CALayer 绘图层

    1.CALayer 绘图层 在 iOS 系统中,你能看得见摸得着的东西基本上都是 UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是 UIView.其实 UIView 之 ...

  3. iOS CALayer之CAEmitterLayer粒子发射器的神奇效果

    https://www.jianshu.com/p/c54ffd7412e7 想必以前QQ空间的点赞效果大家都知道吧,点赞之后按钮周围会有一圈爆裂的小圆点:还有微信的红包雨表情动画等,以及烟花,火焰效 ...

  4. iOS CALayer anchorPoint 的应用场景

    背景 最近在看<ios核心动画高级技巧>,这本书的中文版本可以在iOS Core Animation: Advanced Techniques中文译本 这里找到,看到图形几何学这一章,其中 ...

  5. iOS CALayer专用图层理解与使用方法一(CAShapeLayer、CATextLayer、CATransformLayer)

    1. 概述 本专栏之前的文章讲述了CALayer的使用以及一些动画操作等,本篇文章主要对CALayer的一些专用图层CAShapeLayer.CATextLayer.CATransformLayer进 ...

  6. iOS CALayer动画原理分析

    一.引出问题 在开始分析原理之前,我们先来看一个问题: 我们都知道 UIView与 CALayer之间的关系,通俗的来说,UIView内部封装了一个 CALayer, 其中 CALayer负责展示UI ...

  7. CALayer与iOS动画 讲解及使用

    iOS CALayer与iOS动画 讲解及使用 关于CoreAnimation 初识CALayer CALayer CAAnimation CAMediaTiming UIView与CALayer动画 ...

  8. iOS - Core Animation 核心动画

    1.UIView 动画 具体讲解见 iOS - UIView 动画 2.UIImageView 动画 具体讲解见 iOS - UIImageView 动画 3.CADisplayLink 定时器 具体 ...

  9. Swift常用库收集

    收集一些项目中常用的比较顺手的第三方库, 并不一定是基础的库,只是有时候会用到,免得到时候到处找. UI层 QMUI 腾讯样式统一 UI控件库,统一多端控件,系统控件基础上提高扩展行(比如AlertV ...

最新文章

  1. CUPS Share Printer
  2. 微服务系列(七):将单体应用改造为微服务
  3. guava中的Joiner
  4. 学习HTML5之塔克大战(详细记录)
  5. js实现撤销恢复_我们常用的撤销和恢复功能,它们使用了什么设计模式实现吗?...
  6. 数学家的亿万商业王国:创建“验证码”和“多邻国”,20岁就被盖茨挖去微软...
  7. linux-3-which-whoaii-chmod数字法与符号法
  8. Linux-进程管理
  9. 《Java从入门到放弃》JavaSE入门篇:面向对象语法二(入门版)
  10. Eclipse 中部署应用到任意服务器
  11. BDS Business Development Studio
  12. CString与LPCWSTR、LPSTR、char*、LPWSTR等类型的转换
  13. php大马的使用教程,一php大马,值得研究
  14. django——三种方式实现文件下载
  15. 保姆级别Maven安装教程【Maven安装、Maven目录创建】
  16. switch删除用户显示正在维护服务器,Switch即将迎来6.0更新 账号与用户无法再正常解绑...
  17. 决策支持系统(DSS)
  18. 更进一步的提高 SSL 的安全性,支持 Forward Secrecy
  19. CASIA-B步态数据集的一些粗糙理解
  20. easy_install 和 pip 的安装及使用

热门文章

  1. RecyclerView列表控件漂亮时间线实现
  2. day05:SQL_DCL ,权限控制
  3. win10连接计算机,如何在win10中连接计算机和打印机
  4. java动态添加组件_有关Java Swing动态增加组件
  5. -ms-,-moz-,-webkit-,-o-含义及各浏览器内核整理
  6. 圆柱属于能滚动的物体吗_中班科学活动教案:滚动的物体教案(附教学反思)
  7. 星外主机管理系统可以装到内网_智慧消防管理系统_消防物联网远程管理平台...
  8. Linux怎么创建date文件,Linux下手工创建oracle database
  9. java 操作系统 模拟 daima_求C/C++或java写的比较简单的操作系统的模拟程序
  10. 和smi_nvidia-smi 报错:无法与 nvidia driver 通信