大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

傻傻分不清:Quartz2D、QuartzCore、CoreAnimation、CoreImage、

CoreImage定义了滤镜,来对图片进行颜色过滤混合等操作。 PS:UIKit里的UIView,封装了layer来呈现内容,内容通过CoreGraphics来绘制到layer上,其中位置、大小、颜色,也都在CoreGraphics里定义了。并且加上了用户事件,用来响应用户的输入、点击、拖拽等操作。 才疏学浅,欢迎指正

iOS动画实战之Lottie动画

iOS动画实战之Lottie动画 介绍 如果你还不知道Lottie是什么, 那你真的out了. 如果把iOS动画分为两类: 交互式动画, 播放式动画, 那么其中的播放动画完全可以使用Lottie来完成, 例如: 作为收藏按钮, 是不是很活泼? _launchAnimation = [LOTAnimationView animationNamed:@"data"]; 值得注意的是, 像这样多次使用到Lottie时一定要注意素材的名字不能一样, 否则动画就是错乱的, 简单讲一讲怎么改.

iOS 高级进阶书籍资源

iOS 高级进阶书籍资源 先占个楼吧,由于本人经常会下载一些书籍资料,但是苦于csdn的c币制,导致很多优秀的开源资料无法优雅的获取到,此篇博客会把一些经典的资料放在云盘中,供大家学习使用,希望可以共同进步。 中文版书籍.png 中文版 Objective-C编程之道 - iOS设计模式解析 链接: https://pan.baidu.com/s/1Jj4-gDhQzLX3qDcX1xmfTQ 密码: 2w1w iOS-CoreAnimation 链接: https://pan.baidu.com/s/1PyOCPczf

iOS篇-UI篇-CoreAnimation(核心动画)

iOS篇-UI篇-CoreAnimation(核心动画) TZ : 飞机虽然飞的很快,但是我们不要忘了思考 一 : 科普一分钟 我们看到很多产品都有炫酷的动画,我们会有跃跃欲试的感觉,复杂的结构拆解开各个小部分,都是有基本的动画效果组合而成,下面主要介绍一下CoreAnimation这套苹果为我们提供的功能强大的api,为我们提供了各种动画效果. self.layer = layer; @property(nonatomic,weak)CALayer *dotlayer; } return _shapL;

iOS核心动画

iOS核心动画 动画是iOS中非常有趣的部分,同时也是提升用户交互体验的有力工具,本文主要分为两个部分,第一个部分讲解基础知识,第二个部分列举基本使用 一、基础知识 1.1、动画相关框架 从上图可以发现 UIView在最上层 往下依次是CoreAnimation CoreGraphics、Hardware 1.2、iOS系统框架 上图为iOS中的四层架构 UIView位于Cocoa Touch层 CoreAnimation位于Media Layer中的QuartzCore框架中,查看Quart

iOS开发-OpenGLES进阶教程4

// 1 glGenTextures(1, colorTexture); 渲染缓存关联到帧缓存 1、新建渲染缓存2、分配渲染内存3、新建帧缓存4、切换帧缓存为渲染缓存 //1 glGenRenderbuffers(1, colorRenderbuffer); //2 glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA8_OES, viewport[2],viewport[3]);

CAEmitterLayer和CAEmitterCell的基本用法

} - (void)setEmitter{ //添加背景图 UIImage *bgImage = [UIImage imageNamed:@"bg.jpeg"]; //cell的内容,一般是图片 NSString *snow_str = [NSString stringWithFormat:@"snow]",i]; } @end 效果如下图所示: 这是一个最简单的粒子效果的实现了,对于想实现其他的效果,只需对参数进行设置不同参数间的搭配能够实现我们大部分粒子系统的效果。为此必须详细掌握每个参数的用处,这里便不多赘述。

iOS CoreAnimation 简单动画的使用

iOS CoreAnimation 简单动画的使用 CAAnimationGroup 同时进行多个动画 _animateLayer.backgroundColor = [UIColor colorWithWhite:1.000 alpha:0.250].CGColor; _animateLayer.borderWidth = 2; _animateLayer.borderColor = [UIColor grayColor].CGColor; CAAnimationGroup *group = [CAAnimationGroup animation]; CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"bounds"]; animation.fromValue = [NSValue valueWithCGRect:_animateLayer.bounds]; animation.toValue = [NSValue valueWith

iOS 异步图片加载优化与常用开源库分析

// CGBitmapContextCreate doesn't support kCGImageAlphaNone with RGB. // https://developer.apple.com/library/mac/#qa/qa1037/_index.html if (infoMask == kCGImageAlphaNone CGColorSpaceGetNumberOfComponents(colorSpace) 1) { // Unset the old alpha info. bitmapInfo = ~kCGBitmapAlphaInfoMask;context) return image;

Animations开源动效分析(二)POP-Stroke动画

两个方法,传入四个位置点参数生成。 注:上图中XY轴区间都是[0,1]; @end 实现的思路是,定时改变CAShapeLayer的startStoke和endStoke属性,改变圆的绘制弧度,使用POP的Spring动画控制其改变数值。 - (void)setup { [super setup]; 分别对应CAShapeLayer的绘制颜色,起始比例区间。 /* The color to fill the path's stroked outline, or nil for no stroking. * Defaults to nil. Animatable. */ @property(nullable) CGColorRef strokeColor;

iOS链式动画、Spring动画,TimingFunction扩展

iOS链式动画、Spring动画,TimingFunction扩展 Summary AXAnimationChain是一个链式动画库,可以用来轻松的创建基于CAAnimation的链式动画。链的组合方式有两种,一种是组合,另一种则是链接,通过以上两种方式创建的动画,既可以同时进行,也可以按时间先后进行,可以使用较少的代码创建出丰富复杂的动画效果: 简单使用: _transitionView.spring.centerBy(CGPointMake(0, 100)).toValue(@(M_PI_4)).

Swift - CAReplicatorLayer的使用

Swift - CAReplicatorLayer的使用 CAReplicatorLayer是CoreAnimation框架中的一个容器类,它有别于普通的如CAShapeLayer的Layer,主要是用于复制其sublayers并以特定的方式排列这些sublayers,做出一些有意思的动画效果。自定义Loading动画时就经常用到CAReplicatorLayer。 环境:Swift 3.0, Xcode 8.2GitHub源码:https://github.com/Hesse-Huang/CAReplicatorLearning 效果图如下: CAReplicatorLayer.gif 分析:1.

QuartzCore和CoreAnimation

CAPropertyAnimation CAAnimation的子类,也是个抽象类,要想创建动画对象,应该使用它的两个子类:CABasicAnimation和CAKeyframeAnimation /* 通过指定CALayer的一个属性名称为keyPath(NSString类型),并且对CALayer的这个属性的值进行修改,达到相应的动画效果。比如,指定@“position”为keyPath,就修改CALayer的position属性的值,以达到平移的动画效果 */ @property(nullable, copy) NSString *keyPath;

CoreAnimation(核心动画)概述

//位置(默认指中点,具体由anchorPoint决定) @property CGPoint anchorPoint; // 锚点(x,y的范围都是0-1),决定了position的位置 @property CGColorRef backgroundColor; [UIView commitAnimations];

iOS - 核心动画

iOS - 核心动画 核心动画CoreAnimation CALayer图层 UIView是一个视图视图上面可以添加响应事件视图等可以和用户交互 CALayer不可以和用户交互,只能显示内容 UIView上面的rootLayer发生改变的话子图层也会发生改变button不止有一个视图改变的只是其中一个视图的rootLayer显示未被裁切的边框 CALayer发生改变子图层不会跟随发生改变自带动画效果(当改变属性值的时候)隐式动画 bounds边境范围

iOS - 核心动画

iOS - 核心动画 一 CALayer1.1 什么是CALayer 在iOS系统中,你能看得见摸得着的东西基本都是UIView

面试回顾之七:UIView和CALayer的区别和联系

面试回顾之七:UIView和CALayer的区别和联系 1, uiview 是uikit的(只能iOS使用) calayer 是QuartzCore的(ios 和mac os通用) 2, calayer 比uiview更加轻量级别, 但是可以实现同样的效果 3, uiview比calayer多了一个事件处理的功能,也就是说,CALayer 不能处理用户的触摸事件,而UIView可以 4, UIView的CALayer类似UIView的子View树形结构 5, UIView有个重要属性layer,可以返回它的主CALayer实例。CALayer *layer = myView.layer 6

iOS动画(二)CoreAnimation

iOS动画(二)CoreAnimation 1、CoreAnimation的结构如下 1.png 2、CoreAnimation类介绍 (1)CAAnimation --- CoreAnimation的基础类 两个代理方法,监听动画的开始和结束 (void)animationDidStart:(CAAnimation *)anim; @property(nullable) CGPathRef path; animation.values = @[ @0, @10, @-10, @10, @0 ]; } (4)CASpringAnimation --- 弹性动画 -(void)springAnimation{ CASpringAnimation *animation = [CASpringAnimation animationWithKeyPath:@"position"]; Defaults to `fade'.

Core Animation 第一章 图层树

@end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad];png 使用图层关联的视图而不是CALayer的好处在于,你能在使用所有CALayer底层特性的同时,也可以使用UIView的高级API。然而,当满足一下条件时,你可能更需要使用CALayer: 开发同时可以再macOS上运行的跨平台应用 使用多种CALayer的子类 性能调优不过总的来说,处理视图比单独处理图层更加方便。

CoreAnimation初探(二) —— 初识CALayer与动画

// returns view's layer. Will always return a non-nil value. view is layer's delegate 可以想象下我们看到的view实际上都是它的layer,我们先通过CALayer中几何相关的属性来认识下它: bounds:图层的bounds是一个CGRect的值,指定图层的大小(bounds.size)和原点(bounds.origin) /* The bounds of the layer. Defaults to CGRectZero. Animatable. */ @property CGRect bounds; /* fillMode填充模式,有4种,见下 */ @property(copy) NSString *fillMode;