CALayer(一)】的更多相关文章

属性框架:QuartzCore CA: CoreAnimation -> 核心动画,所有的核心动画都是添加给layer的! 与UIView的区别: 1.layer负责内容的展示,不接受任何用户交互! 2.UIView继承自UIResponder,可以接受用交互,执行事件处理操作! 创建CALayer // 1.创建 CALayer *redL = [CALayer layer]; // 2.设置大小 redL.bounds = CGRectMake(, , , ); // 3.设置位置 ->…
参考博客:http://blog.csdn.net/hello_hwc?viewmode=list 如果你对CALayer 还没有一个清晰的理解,欢迎看一下前面的博客: http://www.cnblogs.com/huanying2000/p/6244673.html 如果你对Layer有一定的了解 请直接看下面的文章 一 提供CALayer内容的单中方式 1>把一个图像对象直接赋值给contents属性(这是提供CALayer内容的最好方式) 2>设置delegate,让代理绘制layer…
跟着大神一起进步,本篇博客原文地址:http://blog.csdn.net/hello_hwc?viewmode=contents 一 CALayer是什么? Layers是绘图和动画的基础,  Layer是在3D空间中的2D平面.Layer管理的几何(例如rotate,transfrom),内容(image等),和可视属性(backgroundColor,alpha)等信息.Layer主要通过管理bitmap来维护自己的状态信息,从这一点上来说,Layer可以看作对象模型,因为他们主要用来管…
iOS开发UI篇—CAlayer(自定义layer) 一.第一种方式 1.简单说明 以前想要在view中画东西,需要自定义view,创建一个类与之关联,让这个类继承自UIView,然后重写它的DrawRect:方法,然后在该方法中画图. 绘制图形的步骤: (1)获取上下文 (2)绘制图形 (3)渲染图形   如果在layer上画东西,与上面的过程类似. 代码示例: 新建一个类,让该类继承自CALayer YYMylayer.m文件 1 // 2 // YYMylayer.m 3 // 05-自定…
iOS开发UI篇—CAlayer层的属性 一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position; 用来设置CALayer在父层中的位置 以父层的左上角为原点(0, 0) @property CGPoint anchorPoint; 称为“定位点”.“锚点” 决定着CALayer身上的哪个点会在position属性所指的位置 以自己的左上角为原点(0, 0) 它…
iOS开发UI篇—CAlayer(创建图层) 一.添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控制器view的layer上)  1 // 2 // YYViewController.m 3 // 01-创建一个简单的图层 4 // 5 // Created by apple on 14-6-21. 6 // Copyright (c) 2014年 itcase. All rights rese…
iOS开发UI篇—CALayer简介   一.简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView. 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 @property(nonatomic,readonly,retain) CALayer *layer;…
CALayer4-自定义层   本文目录 一.自定义层的方法1 二.自定义层的方法2 三.其他 自定义层,其实就是在层上绘图,一共有2种方法,下面详细介绍一下. 回到顶部 一.自定义层的方法1 方法描述:创建一个CALayer的子类,然后覆盖drawInContext:方法,使用Quartz2D API进行绘图 1.创建一个CALayer的子类 2.在.m文件中覆盖drawInContext:方法,在里面绘图 1 @implementation MJLayer 2 3 #pragma mark…
CALayer3-层的属性   本文目录 一.隐式动画属性 二.position和anchorPoint 回到顶部 一.隐式动画属性 * 在前面几讲中已经提到,每一个UIView内部都默认关联着一个CALayer,我们可用称这个Layer为Root Layer(根层).所有的非Root Layer,也就是手动创建的CALayer对象,都存在着隐式动画. * 当对非Root Layer的部分属性进行相应的修改时,默认会自动产生一些动画效果,这些属性称为Animatable Properties(可…
CALayer2-创建新的层   本文目录 一.添加一个简单的图层 二.添加一个显示图片的图层 三.为什么CALayer中使用CGColorRef和CGImageRef这2种数据类型,而不用UIColor和UIImage? 四.UIView和CALayer的选择 五.UIView和CALayer的其他关系 * 上一讲已经说过,UIView内部默认有个CALayer对象(层),通过layer属性可以访问这个层.要注意的是,这个默认的层不允许重新创建,但可以往层里面添加子层 * UIView可以通过…
本文目录 一.什么是CALayer 二.CALayer的简单使用 回到顶部 一.什么是CALayer * 在iOS系统中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView. * 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个层. * 在创建UIView对象时,UIView内部会自动创建一个层(即CALayer对象),通过UIView的layer属性可以访问这个层.当UIView需要显示到屏幕上时,会调用dr…
1.Core Animation是跨平台的,支持IOS和Mac OS X环境 2.核心动画操作的对象不是UIView而是CALayer,CALayer是核心动画的基础, 可以做圆角.阴影.边框等效果 3.每个UIView内部都有一个Layer的属性 4.在实现核心动画时,本质上是将CALayer中得内容转换成位图,从而便于图形硬件的操纵. 5.因为Core Animation是跨平台的,基于QuartzCore框架,在Core Animation中不能使用任何 跟UI相关的方法.[view.la…
1.继承链:NSObject 2.创建一个layer (1)+ (instancetype)layer :创建和返回一个layer实例对象 (2)- (instancetype)init :返回一个初始化的calayer对象 (3)- (instancetype)initWithLayer:(id)layer :为一个视图对象初始化一个已经存在的layer对象,view.layer = layer 3.读取相关的layer 对象 (1)- (id)presentationLayer :返回一个复…
刚刚无聊,画了一个月亮. - (void)viewDidLoad { [super viewDidLoad]; self.view.layer.backgroundColor = [UIColor blackColor].CGColor; CALayer *layer = [CALayer layer]; //尺寸 layer.bounds = CGRectMake(0, 0, 100, 100); //中心点 layer.position = CGPointMake(250, 100); //…
使用CALayer的mask实现注水动画效果 Core Animation一直是iOS比较有意思的一个主题,使用Core Animation可以实现非常平滑的炫酷动画.Core animtion的API是较高级的封装,使用便捷,使得我们免于自己使用OpenGL实现动画.本文主要介绍如何使用CALayer的mask实现一个双向注水动画(姑且这么叫吧). 了解CALayer的mask 以上是CALayer的头文件关于mask的说明,mask实际上layer内容的一个遮罩. 如果我们把mask是透明的…
CALayer *sublayer = [CALayer layer]; sublayer.backgroundColor = [UIColor purpleColor].CGColor; sublayer.shadowOffset = CGSizeMake(, ); sublayer.shadowRadius = 5.0; sublayer.shadowColor = [UIColor blackColor].CGColor; sublayer.shadowOpacity = 0.8; sub…
1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position;                                                                                                                                                                   用来设置CALayer在父层…
1.CALayer 1).在ios中,能看得见摸得着的东西基本上都是UIView, 比如按钮.文本标签.文本输入框.图标等,这些都是UIView 2).UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 3).在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层:@property (nonatomic,readonly,retain) CALayer *layer; 4).当UIView需要显示到屏幕上时…
本篇记录星级评分组件的创建过程以及CALayer的运用. 为了实现一个星级评分的组件,使用了CALayer,涉及到mask.CGPathRef.UIBezierPath.动画和一个计算多角星关键节点的算法. CALayer管理基于图像的内容,并让我们可以在内容上添加动画.UIView及其子类拥有一个属性layer,我们可以运用该属性做出非常多的效果.例如圆角.多边形.甚至自定义形状的view,局部遮挡,擦除模糊效果,局部内容依次闪亮效果,弧形进度条等等. 首先查看CALayer的一个属性mask…
iOS开发UI篇—CAlayer层的属性 一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position; 用来设置CALayer在父层中的位置 以父层的左上角为原点(0, 0) @property CGPoint anchorPoint; 称为“定位点”.“锚点” 决定着CALayer身上的哪个点会在position属性所指的位置 以自己的左上角为原点(0, 0) 它…
一.图层的几何 图层的几何简单通俗,图层的所有几何属性(包括矩阵变换),都可以有隐式和显式动画. 图层几何的属性: 1.position是CGPoint值,她指定图层相对于她图层的位置,该值基于父图层的坐标系. 2.bounds是CGRect值,她指定图层的原点(bounds.size)和图层的原点(bounds.origin - 当重写图层的drawRect的时候,bounds.origin可以作为图形上下文的原点). 3.frame是隐式的属性,她是position,bounds,ancho…
一.CALayer简介 1.CALayer在iOS中,文本输入框.一个图标等等,这些都是UIView你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 @property(nonatomic,readonly,retain) CALayer *layer; 当UIView需…
UIView与CALayer的区别,很详细 研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍.苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假设读的人了解界面动画技术的原理的.今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登陆了,没办法又到网上查了一遍,太浪费时间了,痛感忘记记笔记是多么可怕的事情.鉴于Core Animatio…
CALayer属于Core Animation部分的内容,比较重要而不太好理解.以下是园子中看到的一篇文章的摘录: 以下摘自<<核心动画编程指南>>: 两者最大的区别是,图层不会直接渲染到屏幕上. 在模型-视图-控制器(model-view-controller)概念里面NSView和UIView是典型的视图部分,但是在核心动画里面图层是模型部分.图层封装了几何.时间.可视化属性,同时它提供了图层现实的内容,但是实际显示的过程则不是由它来完成.每个可见的图层树由两个相应的树组成:一…
详解CALayer 和 UIView的区别和联系   前言 前面发了一篇iOS 面试的文章,在说到 UIView 和 CALayer 的区别和联系的时候,被喵神指出没有切中要点,所以这里就 CALayer 和 UIView 这个问题重新整理了下.这里会先分条解释,最后会在文章的结尾给出概括性总结. 1.首先UIView可以响应事件,Layer不可以. UIKit使用UIResponder作为响应对象,来响应系统传递过来的事件并进行处理.UIApplication.UIViewController…
**** #import "HMViewController.h" // 每秒秒针转6度 #define perSecendA 6 // 每分钟分针转6度 #define perMinuteA 6 // 每小时时针转6度 #define perHourA 30 // 每分钟时针转6度 #define perMinuteHourA 0.5 #define angle2radian(x) ((x) / 180.0 * M_PI) @interface HMViewController ()…
******隐式动画(手指拖拽Layer) #import "HMViewController.h" @interface HMViewController () @property (nonatomic, weak) CALayer *layer; @end @implementation HMViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loadi…
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // 创建一个图层 CALayer *layer = [CALayer layer]; // 设置尺寸 layer.bounds = CGRectMake(, , , ); // 设置位置 layer.position = CGPointMake(, ); // 设置…
1.    CALayer和UIView之间的关系: 在iOS系统中,你能看得见摸得着的东西基本上都是UIView,比如UI控件.图标等等,都是UIView. 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个层(CALayer). 在创建UIView对象时,UIView内部会自动创建一个层(即CALayer对象),通过UIView的layer属性可以访问这个层.当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的层上,绘图完毕后,系统会…
掌握 ● CALayer的基本属性 ● CALayer和UIView的关系 ● position和anchorPoint的作⽤用 CALayer ● 在iOS中,你能看得见摸得着的东西基本上都是UIView,⽐比如⼀一个按钮.⼀一个⽂文本标签.⼀一 个⽂文本输⼊入框.⼀一个图标等等,这些都是UIView ● 其实UIView之所以能显⽰示在屏幕上,完全是因为它内部的⼀一个图层 ● 在创建UIView对象时,UIView内部会⾃自动创建⼀一个图层(即CALayer对象),通过UIView 的lay…