首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

绘图-CAShapeLayer、CABasicAnimation以及核心动画

因此对一个view进行动画,本质上是对该view.layer进行动画操纵。CALayer设计主要是了为了内容展示动画操作,CALayer本身并不包含在UIKit中,它不能响应事件。...LineWidth 是在边界上绘制宽度,而且 绘制宽度边界一分为二。 #如果LineWidth 为0 ,strokeColor设置后也是没有效果。...关于核心动画里面的时间暂停,继续问题可以看我另一篇文章:实践-跑马灯效果及实现过程解析 CASpringAnimation 带有初始速度以及阻尼指数等物理参数属性动画。...例如这里填写是 @"transform.rotation.z" 意思就是围绕z轴旋转,旋转单位是弧度.这个动画效果是把view旋转到最小,再旋转回来.你也可以填写@"opacity" 去修改透明度...在这个动画里,是设置了要旋转弧度,根据以上规则,动画将会从它当前弧度专旋转到我设置弧度.

2.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

线上教育系统开发中,tableview列表分区实现方式

,如果不设置这个的话,则原来背景色不会被覆盖     cell.backgroundColor = UIColor.clearColor;     // 创建一个shapeLayer CAShapeLayer...*layer = [[CAShapeLayer alloc] init]; CAShapeLayer *backgroundLayer = [[CAShapeLayer alloc] init];...CGRectGetMaxY:返回对象底点坐标 // CGRectGetMinX:返回对象左边缘坐标 // CGRectGetMaxX:返回对象右边缘坐标 // CGRectGetMidX: 返回对象中心点...X坐标 // CGRectGetMidY: 返回对象中心点Y坐标     // 这里要判断分组列表中第一行,每组section第一行,每组section中间行 // CGPathAddRoundedRect...然后连接p1p2为一条直线l1,连接初始点p到p1成一条直线l,则在两条直线相交处绘制弧度为r圆角。

77220

绘图-圆环进度条实现详解

前言 实现了一款时下比较流行环状进度动图,以下是源码解析 使用 Core Graphics 定时器 实现环形进度动图 圆环进度.gif 核心源码 # 使用 [self setNeedsDisplay...drawRect:rect]; #获取图形上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); #设置中心点...CGPointMake(maxWidth/2.0, maxWidth/2.0); CGFloat radius = maxWidth/2.0-_strokeWidth/2.0-1;//留出一像素,防止与边界相切地方切平...} } 使用 CAShapeLayer CABasicAnimation 实现环形进度动图 进度.gif 核心源码 # 橘红色背景 CAShapeLayer *shapeLayer11...就是图中我们看到橘红色 CAShapeLayerfillColor 填充是 贝塞尔曲线有效区域 半径为 138圆 shapeLayer11.fillColor=[UIColor colorWithRed

2.1K30

老司机带你走进Core Animation 之CAShapeLayerCATextLayer

老司机带你走进Core Animation 之CAShapeLayerCATextLayer 系列文章: 老司机带你走进Core Animation 之CAAnimation 老司机带你走进Core...Animation 之CADisplayLink 老司机带你走进Core Animation 之几种动画简单应用 老司机带你走进Core Animation 之CAShapeLayerCATextLayer...就讲讲CALayer两个子类,CAShapeLayerCATextLayer吧。...老司机可以告诉你答案,靠上那个点是终点。那为什么0.75是在那个位置呢?请记住,在iOS中,以x轴正方向(即水平向右)为0度,顺时针旋转一周为360度。...这张图是我盗 恩,这个strokeEnd隐式动画讲完,上面老司机放那个绿色背景进度图那个你也能做了,当给你们留作业了自己去实现吧?。 3.虚线 这个属性真的是一直忽略,从未被使用。

1.4K20

绘图-几个较复杂统计图案例实现分析

同时对横竖方向CAShapeLayer做动画,就会出现如图所示效果。...设置渐变图层 mask(遮罩层)为一个CAShapeLayer maskLayer = [CAShapeLayer layer]; maskLayer.strokeColor = [...根据每一个扇形中心点位置,通过三角函数计算(三角函数中参数是弧度,2π即为一个圆周 , iOS中为 M_PI*2,水平右侧为0)可以得到圆环外面的小圆中心点。...通过数值比例换算,得到每一个扇形开始弧度结束弧度值(0~M_PI*2)....得到每一个环外小圆中心点坐标后,根据该点X坐标值跟当前页面中心点X坐标进行比较,确定小圆尾部线朝向以及字体对其方向(在左侧字体向左对齐,在右边字体向右对齐) 环外圆点直线使用CoreGraphics

1.4K20

iOS动画三板斧(二)--CoreAnimation动画介绍使用附加

duration 动画时长。 fromValuetoValue 是CABasicAnimation属性,都是id类型,所以要将基本类型包装成对象。...先看示例代码,动画效果是视图一边向上移动,一边绕Y轴旋转: ?...gif图来自青玉伏案demo:他文章有更详细demo讲解,地址在这里 附加 附加内容是关于CALayerUIBezierPath。...方法二:绘制圆弧路径,参数1是中心点位置,参数2是半径,参数3是开始弧度值,参数4是结束弧度值,参数5是是否顺时针(YES是顺时针方向,NO逆时针)。 方法三:根据某个路径绘制路径。...进度条.gif 上图这样视图是用UIBezierPath用多个CAShapeLayer制作出来,而动画效果只需要改变进度layerstrokeEnd修改下面代表水面进度视图位置即可。

1.1K40

UI篇-Layer几个关键点补充

前言 强大UIView是基于 CALayer实现,它重要性不言而喻,相信大家也都有自己研究理解,今天这片文章里内容是几个关键点补充。...CALayer UIView关系 CALayer是Core Animation基础,UIKit 相关内容实现基础 简单来说,ViewLayer最大区别就是View可以接受用户输入(例如触摸...Layer只是几何上呈现给用户东西,它较为轻量,通常采用Cache技术,对资源消耗也较小。 CALayer是什么?...Layer是基于bitmap,它会捕获View要呈现内容,然后cache在一个bitmap中,这个bitmap可以看作一个对象。这样每次进行操作,例如平移旋转等,只是bitmap矩阵运算。...CAShapeLayer 绘制立体贝塞尔曲线 CATextLayer 可以绘制AttributeString CATiledLayer用来管理一副可以分割大图 CATransformLayer

88210

iOS设置视图圆角失效解决方案

它有什么作用 masksToBounds指在设置子layer在超出父layer时是否裁剪,YES表示裁剪,NO表示不裁剪,默认是NO;通常在通过设置layer.cornerRadius属性实现圆角效果时要设置...masksToBounds为YES,以保证圆角效果实现,但这种方法是一种很低效实现方式,也是最简单直接。...masksToBoundsclipsToBounds是不同,前者指子layer层在超出父layer时是否裁剪(masksToBounds是CALayer属性),而后者指子view在超出父view...时是否裁剪(clipsToBounds是UIView属性)。...③ 图片数量多时,图片尺寸要根据需要提前经过transform矩阵变换压缩好(直接设置图片contentMode让其自行压缩仍然会影响滚动效率),必要时候要准备好预览图高清图,需要时再加载高清图

2.2K10

iOS动画系列之八:使用CAShapeLayer绘画动态流量图1. CAShapeLayer2. 实战:绘制一个镂空图层动画3. 使用CAShapeLayer绘画动态流量图

这篇文章通过使用CAShapeLayerUIBezierPath来画出一个动态显示剩余流量小动画。...CAShapeLayer 实际中,能够用CALayer完成任务是比较少,如果使用这个基础图层就能实现绝大部分功能,咱们就没有必要再开启一个CAShapeLayer了嘛。...1.1 CAShapeLayer优点 那CAShapeLayer到底有啥子优点嘛! CAShapeLayer作为继承自CALayer子类,当然可使用CALayer所有属性。...CAShapeLayer是一个通过矢量图形而不是位图来绘制图层子类。指定诸如颜色线宽等属性,用path来定义想要绘制图形,最后CAShapeLayer就自动渲染出来了。...0.04, target: self, selector: #selector(progressShowNumber), userInfo: nil, repeats: true) 3.2.3 定时器调用事件

1.6K30

CAGradientLayer颜色渐变器

数组长度color一致,默认是nil,会平均分布 @property CGPoint startPoint; //映射locations中第一个位置,用单位向量表示,比如(0,0)表示从左上角开始变化...除了默认值也无其它选项 @end 下面是我用上面的代码实现最终效果,startPoint是(0,0),endPoint是(1,1)。 ? 下面我们试试用这个来实现一个渐变色圆环, ?...需要说明是CAGradientLayer只能实现矩形范围内颜色渐变, 那渐变圆环要如何实现呢? mask 对了 首先我们创建两个挨着矩形渐变色块, 并把两个色块添加到同一个layer ?...再创建一个带有圆弧形状layer作为mask 上代码: #import "ViewController.h" @interface ViewController () @end @implementation...-(CAShapeLayer *)createShapeLayerWithPath:(UIBezierPath *)path { CAShapeLayer * layer = [CAShapeLayer

1.4K61

iOS动画系列之六:利用CABasic Animation完成带动画特效登录界面1. 画风突变笑脸2. 心跳3. iOS实践:实现一个带动效登录界面

; //暂时先隐藏头部标题,等动画播放完成再显示 [self.titleLabel setHidden:YES]; } // 触摸屏之后触发方法 - (void)touchesBegan...weakSelf.view.bounds.size.width - weakSelf.greenView.center.x, weakSelf.greenView.center.y + 30); //改变嘴巴高度中心点...3,登录按钮是通过阻尼动画实现闪动。 3.2 实现步骤 1,登录页UI搭建,这里偷懒用是StoryBoard。 2,login按钮点击事件:使用模态或者PUSH都可以,弹出登录界面。...把两个输入框位置放到正确地方,同时让登录按钮显示出来。 5,实现登录按钮点击事件:这里模拟是登录失败状况,按钮会进行晃动。...第八篇:iOS动画系列之八:使用CAShapeLayer绘画动态流量图 第九篇:iOS动画系列之九:实现点赞动画及播放起伏指示器 第十篇:实战系列:绘制过山车场景

1.5K60

绘图-类似百度外卖波浪效果实现与关键点解析

不需要在格外关心屏幕刷新频率了,本身就是跟屏幕刷新同步。 选择CAShapeLayer 原因: 渲染效率高渲染快速。...CAShapeLayer使用了硬件加速,绘制同一图形会比用Core Graphics快很多。 高效使用内存。...一个CAShapeLayer不需要像普通CALayer一样创建一个寄宿图形,所以无论有多大,都不会占用太多内存。 不会被图层边界剪裁掉。一个CAShapeLayer可以在边界之外绘制。...你图层路径不会像在使用Core Graphics普通CALayer一样剪裁掉。 不会出现像素化。当你给CAShapeLayer做3D变换时,它不像一个有寄宿图普通图层一样变得像素化。...设置两个图层大小相同,高度都是一个浪高度 在定时器绑定方法中 使用 正弦曲线函数for 方法绘制路径 把绘制好路径分别赋给两个图层。 设定好“船” y坐标。

66230

iOS Core Animation:Advanced Techniques

你指定诸如颜色线宽等属性,用CGPath来定义想要绘制图形,最后CAShapeLayer就自动渲染出来了。...Core Animation在每个run loop周期中自动开始一次新事务(run loop是iOS负责收集用户输入,处理定时器或者网络事件并且重新绘制屏幕东西),即使你不显式用[CATransaction...大多数情况下,你不需要直接访问呈现图层,你可以通过模型图层交互,来让Core Animation更新显示。两种情况下呈现图层会变得很有用,一个是同步动画,一个是处理用户交互。...如果你想让你做动画图层响应用户输入,你可以使用-hitTest:方法(见第三章“图层几何学”)来判断指定图层是否触摸,这时候对呈现图层而不是模型图层调用-hitTest:会显得更有意义,因为呈现图层代表了用户当前看到图层位置...类似的,removeOnCompletion设置为NO动画将会在动画结束时候仍然保持之前状态。这就产生了一个问题,当动画开始之前动画结束之后,设置动画属性将会是什么值呢?

1.8K30

直播APP常用动画效果

一个复杂礼物动画,首先是美术给出gif实现草图素材,技术进行动画剖析图片压缩,在程序中加载图片实现动画,其中要注意内存CPU占用。 ?...alpha变化,但是UIViewblock动画不好实现重复效果; UIViewalpha对应是layeropacity属性,设定好起始、过度结束状态,实现闪烁效果。...出现、烟花爆炸、画卷打开等效果,通过改变遮罩大小,影响原始图片展示,达到动画效果; 先新建一个CAShapeLayer,并设置为layer遮罩; 新建一个动画,设定初始结束状态并赋值给CAShapeLayer...灯光扫动,花朵旋转旋转效果,都可以transformrotation.z属性来实现; 同样使用CAKeyframeAnimation实现,设定好初始、中间、结束状态,动画时间已经重复次数,并添加到...1、为什么烟花动画图片大小比较小,运行时占用内存反而更多? 2、播放完毕马上释放收到内存不足警告再释放,两种图片加载方式优缺点?

1.6K80
领券