1、图层的意义
当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的图层上,绘制完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView的显示。
 
2、经常使用的属性
self.view.layer.borderWidth = ;//设置边框的宽度为20
self.view.layer.borderColor = [UIColor redColor].CGColor;//设置边框的颜色
self.view.layer.cornerRedius = ;//设置边框的圆角率
aView.layer.masksToBounds = YES;//设置超过主图层的部分裁剪掉
aView.layer.contents = (id)[UIImage imageNamed:@"87.jpg"].CGImage;//在图层上添加一个图片 myImageView.layer.shadowColor = [UIColor blackColor].CGColor;//设置阴影的颜色
myImageView.layer.shadowOpacity = 0.8;//设置阴影的偏移量,如果为正数代表着向右、向下
myImageView.layer.shadowOffset = CGSizeMake(, );//设置阴影的透明度(0~1,0为完全透明)
 
3、注意事项
(1)设置的边框都是内边框,即是向内部延伸的。
(2)往图层上设置的image不是展示在主图层上的,而是显示在子图层上的。可以设置超出主图层色部分裁剪掉。
(3)设置阴影,不光要设置阴影的颜色,还应该要设置阴影的偏移量和透明度。因为如果不设置偏移量的话,那么喝layer完全重叠,且默认透明度为0(即完全透明)。
(4)如果设置了masksToBounds为yes,则设置阴影就不会有显示效果了。
 
4、图层的形变属性(与view的形变属性不一样)
/**
形变属性,在CALayer中形变属性是3D的,在UIView中形变是2D的
注意:形变参数在使用set方法时,只能使用一种形变
*/
// 平移属性
[self.alayer2 setTransform:CATransform3DMakeTranslation(, , )];
// 缩放属性
[self.alayer2 setTransform:CATransform3DMakeScale(0.5, 0.5, 1.0)];
// 旋转属性,通常在旋转时使用z轴即可。要沿着哪个轴转,就设置对应的值为1。x,y旋转90为不可见状态
[self.alayer2 setTransform:CATransform3DMakeRotation(M_PI_4, , , )]; /**
利用keyPath设置形变 但是属性不要出错 可以在文档中进行搜索(transform3D)
*/
// 平移
[self.alayer2 setValue:@- forKeyPath:@"transform.translation.x"];
// 缩放
[self.alayer2 setValue:@0.5 forKeyPath:@"transform.scale"];
// 旋转
[self.alayer2 setValue:@M_PI_2 forKeyPath:@"transform.rotation.z"];

图层CALayer的使用的更多相关文章

  1. Quartz2D复习(四) --- 图层CALayer和动画CAAnimation

    1.CALayer 1).在ios中,能看得见摸得着的东西基本上都是UIView, 比如按钮.文本标签.文本输入框.图标等,这些都是UIView 2).UIView之所以能显示在屏幕上,完全是因为它内 ...

  2. 12.22笔记(关于CALayer//Attributes//CALayer绘制图层//CALayer代理绘图//CALayer动画属性//CALayer自定义子图层//绘图pdf文件//绘图渐变效果)

    12.22笔记 pdf下载文件:https://www.evernote.com/shard/s227/sh/f81ba498-41aa-443b-81c1-9b569fcc34c5/f033b89a ...

  3. iOS-绘制图层-CALayer的属性

    一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position; 用来设 ...

  4. ios开发之图层与核心动画一:图层CALayer的认识

    #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...

  5. IOS第18天(2,CALayer自定义图层)

    - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...

  6. iOS - CALayer 绘图层

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

  7. CALayer 知识:创建带阴影效果的圆角图片图层和创建自定义绘画内容图层

    效果如下: KMLayerDelegate.h #import <UIKit/UIKit.h> @interface KMLayerDelegate : NSObject @end KML ...

  8. iOS开发 - CALayer图层

    CALayer的基本使用 在iOS中.你能看得见摸得着的东西基本上都是UIView.比方一个button.一个文本标签.一个文本输入框.一个图标等等.这些都是UIView 事实上UIView之所以能显 ...

  9. 图层的使用要点(CALayer)

    A,图层和路径 基本图层 CALayer 动画的主角 形状图层 CAShapeLayer 绘制不规则图形 渐变图层 CAGradientLayer 颜色渐变.阴影 复制图层 CAReplicatorL ...

随机推荐

  1. 再次配置caffe-windows vs2015+cuda10.0+RTX2070+python3.5

    前段时间换了一个配置高一点的台式机,因此重新安装了caffe,这次安装遇到了很多以前没有遇到的问题,特记录一下. 先罗列一下电脑配置:vs2015+cuda10.0+python3.5(Anacond ...

  2. ZooKeeper-集群模式配置

    (1)下载安装zookeeper,进行基本的配置,详细教程:https://www.cnblogs.com/excellencesy/p/11956485.html (2)在三台虚拟机上分别按照以上方 ...

  3. Vue-设置默认路由选中

    需求分析: 一个导航组件,需要其中一个是选中状态,并且样式呈现高亮,选中的导航对应的页面也需要展示出来. 功能实现: router-link内置有一个选中状态,当处于当前路由时,会给 router-l ...

  4. Python 使用 prettytable 库打印表格(美化输出)

    pip install prettytable 每次添加一行 from prettytable import PrettyTable # 默认表头:Field 1.Field 2... # 添加表头 ...

  5. Java工作流引擎关于数据加密流程(MD5数据加密防篡改)

    关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单  拖拽式表单 工作流系统 流程数据加密  md5  数据保密流程数据防篡改 ...

  6. JavaSE复习~常量、变量、关键字、标识符

    标识符.关键字 标识符:指程序中为了代表一些东西,用户自己定义的名字 关键字:系统预先定义的一些具有特殊意义的标识符, 保留字:系统预先定义,不作为关键字,也不允许用户使用 Java中的关键字: 标识 ...

  7. ArrayList的底层实现原理

    ArrayList源码分析 1.java.util.ArrayList<E> : List 接口的大小可变数组的实现类 ArrayList 内部基于 数组 存储 各个元素. 所谓大小可变数 ...

  8. vscode vue js 开发插件配置

    安装 vetur { // 自动补全触发范围---双引号内的字符串也可以触发补全 "editor.quickSuggestions": { "other": t ...

  9. lc 0223

    目录 ✅ 669. 修剪二叉搜索树 描述 解答 java py ✅ 883. 三维形体投影面积 描述 解答 my understanding c py py map ?? python zip(*gr ...

  10. 蓝桥杯-铺瓷砖(dfs)

    问题描述 有一长度为N(1< =N< =10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限.要将这个长度为N的地板铺满,一共有多少种不同的铺法? 例如,长度为4的地面一 ...