Quartz 2D、Core Animation
文章平均质量分 68
Longshihua
喜欢iOS开发,目前在上海工作!专注Swift学习!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CAKeyframeAnimation(一)使用和属性全面解析
CAKeyframeAnimation 关键帧动画,也是CAPropertyAnimation的子类,与CABasicAnimation的区别是:CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值。CABasicAnimation可看做是只有2个关键帧的CA...原创 2016-04-15 10:39:59 · 6360 阅读 · 0 评论 -
CATransition相关使用
CATransition基本内容预览 CATransition类为layer实现了过渡动画,我们可以从一系列预定义的过渡动画中指定过渡效果或者提供自定义的CIFilter实例。 Creating a Transition Animation CATransition类为Core Animation提供了过渡动画功能,它继承于CAAnimation,并且对整个layer产生...原创 2015-06-28 11:08:24 · 1060 阅读 · 0 评论 -
CALayer之绘图
在CALayer上绘图 要在CALayer上绘图,有两种方法: 1. 创建一个CALayer的子类,然后覆盖drawInContext:方法,可以 使用Quartz2D API在其中进行绘图 2. 设置CALayer的delegate,然后让delegate实现 drawLayer:inContext:方法进行绘图 • 注意: – 不能再将UIView设置为这个CALayer的delegate,因原创 2015-11-17 20:15:28 · 812 阅读 · 0 评论 -
CAAnimation的基本概念
CAAnimation:所有动画对象的父类,负责控制动画的持续时间和速度,是个抽象类,不能直接使用,应该使用它具体的子类.使用Core Animation创建动画不仅简单,而且具有更好的性能,原因有2个:1)Core Animation动画在单独的线程中完成,不会阻塞主线程。2)Core Animation动画只会重绘界面变化的部分(局部刷新).Core Animation动画涉及下面API(简单介原创 2015-11-17 20:59:20 · 600 阅读 · 0 评论 -
隐式动画
每个UIView都有一个layer属性,它的类型是CALayer,属于QuartzCore框架。CALayer本身并不包含在UIKit中,它不能响应事件。由于CALayer在设计之初就考虑它的动画操作功能,CALayer很多属性在修改时都能形成动画效果,这种属性称为“隐式动画属性”。 对每个UIView的非root layer对象属性进行修改时,都存在隐式动画。CALayer常用的属性如下:注意点原创 2015-12-08 14:27:43 · 532 阅读 · 0 评论 -
CAPropertyAnimation 用法
一:CAPropertyAnimation基本概念CAPropertyAnimation提供了如下方法来创建属性动画。 + (instancetype)animationWithKeyPath:(NSString *)path;该方法仅需要一个参数,该参数只是一个字符串的值,指定CALayer的动画属性名,该设置属性动画控制CALayer的哪个动画属性持续的改变。 除此之外,CA...原创 2015-06-28 17:17:09 · 1849 阅读 · 0 评论 -
CALayer实现圆角阴影效果
直接上代码:#import "ViewController.h"#define PHOTO_SIZE 160@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; CGPoint position...原创 2018-02-08 10:28:41 · 1429 阅读 · 0 评论 -
Quartz 2D之基本图形绘制
在iOS中常用的绘图框架就是Quartz 2D,Quartz 2D是Core Graphics框架的一部分,Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境。我们可以使用Quartz 2D API来实现许多功能,如基本路径的绘制、透明度、描影、绘制阴影、透明层、颜色管理、反锯齿、PDF文档生成和PDF元数据访问。在需要的时 候,Quartz 2D还可以借助图形硬件的功原创 2016-01-12 16:35:10 · 1045 阅读 · 0 评论 -
Quartz 2D之线性渐变和径向渐变
Quartz 2D的渐变方式分为两种: a.线性渐变线:渐变色以直线方式从开始位置逐渐向结束位置渐变 b.径向渐变:以中心点为圆心从起始渐变色向四周辐射,直到终止渐变色 要做渐变则必须先设置从开始位置到结束位置的渐变颜色,做过photoshop的朋友相信对于渐变色设置并不陌生,只要在指定位置指定不同的颜色,剩下的事情交给系统处理即可,如下图在起始位置、3/原创 2016-01-13 17:44:09 · 1498 阅读 · 0 评论 -
Quartz 2D之图形上下文及变换
图形上下文是一个CGContextRef类型的数据,封装了Quartz绘制图像到输出设备的信息,Quartz中所有的对象都是绘制到一个GraphicsContext中. GraphicsContext定义了基本的绘制属性,如颜色、裁减区域、线条宽度和样式信息、字体信息、混合模式等.在iOS应用程序中,如果要在屏幕上进行绘制,需要创建一个UIView对象,并实现它的drawRect:方法原创 2016-01-13 18:09:07 · 856 阅读 · 0 评论 -
UIView的动画
UIView本身对于基本动画和关键帧动画、转场动画都有相应的封装,在对动画细节没有特殊要求的情况下使用起来也要简单的多。可以说在日常开发中90%以上的情况使用UIView的动画封装方法都可以搞定.UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持.常见方法解析: + (void)setAnimationDelegate:(id)d原创 2015-11-13 16:56:04 · 591 阅读 · 0 评论 -
CALayer的使用(圆形头像 锚点 边框 阴影 形变 隐式动画 )
CALayer简介和一些基本概念: 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView.其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层.在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层. C...原创 2015-08-31 23:16:35 · 2125 阅读 · 0 评论
分享