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

1.CALayer 1).在ios中,能看得见摸得着的东西基本上都是UIView, 比如按钮.文本标签.文本输入框.图标等,这些都是UIView 2).UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 3).在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层:@property (nonatomic,readonly,retain) CALayer *layer; 4).当UIView需要显示到屏幕上时…
12.22笔记 pdf下载文件:https://www.evernote.com/shard/s227/sh/f81ba498-41aa-443b-81c1-9b569fcc34c5/f033b89a4394b20921fcb8489066acbc 笔记的文本摘要如下所示: 注意:以下仅仅是文本摘要,没有贴图,出现右边的图标()表示笔记中此处有图片,完整笔记请前往pdf链接中观看或下载观看. 1.渐变效果例子 首先:自定义一个渐变视图,在自定义视图中重写drawRect 获取上下文 实例化色彩空…
一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property CGPoint position; 用来设置CALayer在父层中的位置 以父层的左上角为原点(0, 0) @property CGPoint anchorPoint; 称为“定位点”.“锚点” 决定着CALayer身上的哪个点会在position属性所指的位置 以自己的左上角为原点(0, 0) 它的x.y取值范围都是0~1,默认值为(0.…
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIView *redView; @property (weak, nonatomic) IBOutlet UIImageView *imageV; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]…
1.图层的意义 当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的图层上,绘制完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView的显示.   2.经常使用的属性 self.view.layer.borderWidth = ;//设置边框的宽度为20 self.view.layer.borderColor = [UIColor redColor].CGColor;//设置边框的颜色 self.view.layer.cornerRedius…
- (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 绘图层 在 iOS 系统中,你能看得见摸得着的东西基本上都是 UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是 UIView.其实 UIView 之所以能显示在屏幕上,完全是因为它内部的一个层.在创建 UIView 对象时,UIView 内部会自动创建一个层(即 CALayer 对象),通过 UIView 的 layer 属性可以访问这个层.当 UIView 需要显示到屏幕上时,会调用 drawRect: 方法进行绘图,并且会将所有内容绘制在自…
效果如下: KMLayerDelegate.h #import <UIKit/UIKit.h> @interface KMLayerDelegate : NSObject @end KMLayerDelegate.m #import "KMLayerDelegate.h" @implementation KMLayerDelegate /** * 根据角度,获取对应的弧度 * * @param degree 角度 * * @return 对应的弧度 */ static in…
CALayer的基本使用 在iOS中.你能看得见摸得着的东西基本上都是UIView.比方一个button.一个文本标签.一个文本输入框.一个图标等等.这些都是UIView 事实上UIView之所以能显示在屏幕上,全然是由于它内部的一个图层 在创建UIView对象时,UIView内部会自己主动创建一个图层(即CALayer对象).通过UIView的layer属性能够訪问这个层 @property(nonatomic,readonly,retain) CALayer *layer; 当UIView须…
A,图层和路径 基本图层 CALayer 动画的主角 形状图层 CAShapeLayer 绘制不规则图形 渐变图层 CAGradientLayer 颜色渐变.阴影 复制图层 CAReplicatorLayer 迭代复制同一个图层 基础动画 CABasicAnimation 位移.透明度.缩放.旋转 关键帧 CAKeyframeAnimation 路径.抖动.关键帧 组合动画 CAAnimationGroup 多个动画的结合 系统封装动画 CATransition 淡入淡出.推挤.解开.覆盖 放射…
● 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层(CALayer) ● 在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView 的layer属性可以访问这个层 @property(nonatomic,readonly,retain) CALayer *layer; ● 当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在 自己的图层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了U…
Quartz 2D各种绘制实例 首先说一下,本篇文章只是介绍怎么使用Quartz 2D绘制一些常用的图像效果,关于Quartz和其他相关技术请查看笔者之前写的完整版(Quartz 2D详解) 一:画线 // 1.获取跟当前View相关联的layer上下文(画板) // 总结:目前获取的所有上下文都是以UIGraphics开头 // CGContextRef:上下文类型 // CG:CoreGraphics Ref:引用 CGContextRef ctx = UIGraphicsGetCurren…
A.基本知识 1.需要掌握的 CALayer的基本属性 CALayer和UIView的关系 position和anchorPoint的作用   2.概念 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层@prop…
CALayer基础 CALayer是每一个UI控件的核心,一个UI控件之所以能显示可以说是CALayer的功劳 每一个UI控件默认都为自己创建一个CALayer对象,通过drawRect方法将内容绘制在图层上,然后再显示出来 CALayer可以完成很多任务 调整UI控件的外观 执行动画 CALayer与UIView 二者可以达到相同的显示效果 UIView比CALayer多了用户交互功能 CALayer更加轻量级,性能更好 CALayer在系统架构中的位置 CALayer位于QuartzCore…
CALayer是UIView可以响应事件.一般来说,layer可以有两种用途:一是对view相关属性的设置,包括圆角.阴影.边框等参数:二是实现对view的动画操控. 因此对一个view进行core animation动画,本质上是对该view的.layer进行动画操纵. 1.CALayer常见属性 新建图层 CALayer * layer = [CALayer layer]; 图层颜色 layer.backgroundColor = [UIColor redColor].CGColor; 图层…
1.         概述 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView,其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层: @property(nonatomic,readonly,retain) CALayer *layer; 当UIView需要显示到屏…
一.CALayer的常用属性 1.@propertyCGPoint position; 图层中心点的位置,类似与UIView的center:用来设置CALayer在父层中的位置:以父层的左上角为原点(0,0): 2. @property CGPoint anchorPoint; 称『定位点』.『锚点』,该描述是相对于x.y位置比例而言的默认在图像中心点(0.5.0.5)的位置:决定着CALayer身上的哪个点会再position属性所指的位置,以自己的左上角为原点(0,0):它的x.y取值范围都…
下面学习一下图层的anchorPoint,position属性在ViewDidLoad中self.View添加View1,在View1中添加图层calayer self.view1=[[UIView alloc]init]; self.view1.backgroundColor=[UIColor redColor]; self.view1.frame=CGRectMake(100, 100, 200, 200); [self.view addSubview:self.view1]; self.c…
一.CALayer UIView之所以能显示在屏幕上,完全是因为他内部的一个图层 在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘制,并且会将所有内容绘制在自己的图层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView的显示 UIView本身不具备显示的功能,是他内部的层才有显示功能 二.CALayer的基本使用 三.关于CALa…
一.CALayer的常用属性 1.@propertyCGPoint position; 图层中心点的位置,类似与UIView的center:用来设置CALayer在父层中的位置:以父层的左上角为原点(0,0): 2. @property CGPoint anchorPoint; 称『定位点』.『锚点』,该描述是相对于x.y位置比例而言的默认在图像中心点(0.5.0.5)的位置:决定着CALayer身上的哪个点会再position属性所指的位置,以自己的左上角为原点(0,0):它的x.y取值范围都…
一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint  position:  (1)用来设置CALayer在父层中的位置  (2)以父层的左上角为原点(0,0) anchorPoint:  (1)称为”定位点”,”锚点”  (2)决定着CALayer身上的哪个点会在position属性所指的位置  (3)以自己的左上角为原点(0,0)  (4)它的x,y取值范围都是0~1,默认值为(0.5,0.5) 2.图示 …
一.CALayer绘图方式 Layer绘图有两种方法,不管使用哪种方法绘制完必须调用图层的setNeedDisplay方法(注意是图层的方法,不是UIView的方法,UIView的setNeedDisplay方法会调用drawRect:绘图) 通过图层代理drawLayer: inContext:方法绘制 通过自定义图层drawInContext:方法绘制   使用代理方法绘图 - (void)viewDidLoad { [super viewDidLoad]; //自定义图层 CALayer…
CALayer使用 iOS的设备中,我们之所以能看到各种各样的控件.文字.图片,都是Core Animation框架的功劳.它通过图层的合成,最终显示在屏幕上.而今天这篇文章讲的就是Core Animation使用的图层— CALayer.每一个UIView都有一个对应的一个CALayer,这个CALayer可能是一个图层,也可能是多个图层的叠加.事实上,在很多复杂的页面中,我们应该使用图层的叠加来显示,这样做的好处是保证显示的逻辑结构清晰.这篇文章主要介绍CALayer的一些属性以及它的使用,…
在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画.动画组.转场动画,如何通过UIView的装饰方法对这些动画操作进行简化等.在今天的文章里您可以看到动画操作在iOS中是如何简单和高效,很多原来想做但是苦于没有思路的动画在iOS中将变得越发简单: CALayer CALayer简介 在介绍动画操作之前我们必须先来了解一个动画中常用的对象CALayer.C…
--iOS核心动画 概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画.动画组.转场动画,如何通过UIView的装饰方法对这些动画操作进行简化等.在今天的文章里您可以看到动画操作在iOS中是如何简单和高效,很多原来想做但是苦于没有思路的动画在iOS中将变得越发简单: CALayer CALayer简介 CALayer常用属性 CALayer绘图 C…
注:本人是翻译过来,并且加上本人的一点见解. 前言 一个像素是如何绘制到屏幕上去的?有很多种方式将一些东西映射到显示屏上,他们需要调用不同的框架.许多功能和方法的结合体.这里我们大概的看一下屏幕之后发生的事情.当你想要弄清楚什么时候.怎么去查明并解决问题时,我希望这篇文章能帮助你理解哪一个 API 可以更好的帮你解决问题.我们将聚焦于 iOS,然而我讨论的大多数问题也同样适用于 OS X. 目录 1. 图形堆栈2. 软件组成3. 硬件参与者4. 合成5. 不透明 VS 透明6. 像素对齐 VS…
一.转盘(裁剪图片.自定义按钮.旋转) 1.裁剪图片 将一张大图片裁剪为多张 // CGImageCreateWithImageInRect:用来裁剪图片 // image:需要裁剪的图片 // rect:裁剪图片的尺寸,传递是像素 CGImageRef norImage = CGImageCreateWithImageInRect(norBigImage.CGImage, clipRect); 2.每次点击按钮立马变为选中状态,并且取消上次的按钮的选中状态 只要用个成员变量记录下状态就 ok…
一.画线 只有在drawRect中才能获取到跟view相关联的上下文 - (void)drawRect:(CGRect)rect {} 一条线 // 1.获取跟当前View相关联的layer上下文(画板) // 总结:目前获取的所有上下文都是以UIGraphics开头 // CGContextRef:上下文类型 // CG:CoreGraphics Ref:引用 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 2.绘制内容,拼接路径 //…
Main.storyboard ViewController.m // //  ViewController.m //  7A12.position和anchorPoint // //  Created by huan on 16/2/4. //  Copyright © 2016年 huanxi. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implemen…
效果图 实现思路 该示例通过隐式动画实现 表盘通过显示在imageView中的一张图片来实现 在表盘上绘制(时分秒)三条直线,分别位于不同的图层,且时针位于最下层,秒针位于最上层 设置直线为圆角 直线的一段位于表盘的圆心 通过NSTimer定时器,使不同的图层定时执行对应的动画 实现步骤 通过storyboard创建表盘,并拥有它 @property (weak, nonatomic) IBOutlet UIImageView *clockView; 使用三个成员变量来保存时分秒三根表针位于的不…