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

iOS动画-CAAnimation使用详解

动画缓冲属性timingFunction.jpg 通过这种方法控制动画速度,其实是使用不同的变量创建了不同的计时函数。...属性的变化值 2.动画演示 下面的示例使用CABasicAnimation实现了修改颜色图层colorLayer的背景色为随机颜色的动画,具体的代码如下: @interface TestBacicAnimation1VC...[super viewDidLoad]; //1.创建三次贝塞尔曲线(一种使用起始点,结束点和另外两个控制点定义的曲线); UIBezierPath *bezierPath = [[UIBezierPath...CATransition.gif 注意:和属性动画不同,对指定图层一次只能使用那一次CATransition,因此无论对动画的键设置为什么值,过渡动画都会对它的键设置为”transition”,也就是常量...度的动画; 可以使用相对值而不是绝对值旋转,设置byValue而不是toValue; 可以不用创建CATransform3D,而是使用一个简单的数值来指定角度; 不会和transform.position

2.4K10

ios 图像处理

// 设置填充颜色 CGContextSetRGBFillColor // 设置画笔颜色 CGContextSetRGBStrokeColor // 设置填充颜色空间 CGContextSetFillColorSpace...// 设置画笔颜色空间 CGConextSetStrokeColorSpace // 以当前颜色填充rect CGContextFillRect // 设置透明度 CGContextSetAlaha...,通常获取一个UIBezierPath对象的path可以给其他地方用比如上面例子中的 maskLayer.path = maskPath.CGPath; 创建并返回一个新的BezierPath, 这个...  * 设置为 YES, 则路径将会使用 基偶规则 (even-odd) 进行填充...  * 设置为 NO,  则路径将会使用 非零规则 (non-zero) 规则进行填充.   */ 奇偶原则: 从路径覆盖范围内的任意一点做一条射线(确保这条射线的长度要比路径覆盖范围要大) , 如果与该射线相交的边的数量为奇数

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

    iOS学习——Quartz2D学习(1)

    用户把绘制好的内容先保存到图形上下文, 然后根据选择的图形上下文的不同,绘制的内容显示到地方也不相同,即输出目标也不相同. 5、上下文的类型有哪些? ...当创建一个UIBezierPath对象之后,我们可以使用它的stroke和fill方法在current graphics context中去渲染它,这两个方法的底层的实现,就是获取上下文,拼接路径,把路径添加到上下文...在调用这些方法之前,我们要进行一些其他的任务去确保正确的绘制path,以及path的设置。 使用UIColor类的方法去stroke和fill想要的颜色。...使用stroke和fill方法进行渲染时,不需要我们手动去获取上下文了,这两个方法会自定获取view的上下文,然后在该view上绘制渲染path对应的路径,stroke是绘制线,fill是填充path对应的封闭区域...[[UIColor greenColor] setStroke]; //设置填充颜色 [[UIColor redColor] setFill]; //设置边框的线宽 path.lineWidth =

    1.1K20

    【iOS】基于Realm数据库的记账软件--记账模块(二)

    因此在MPCategoryManager创建时,马上进行初始化操作,部分代码如下 /// MPCategoryManager.m文件 + (instancetype)shareManager { static...这里写图片描述 因此,我们的动画要分两步: 提取颜色 做"覆盖"动画 4.1、提取颜色 在这里使用了一个框架CCColorCube,通过该框架,我们可以方便的提取图标的颜色。...,因此直接取第一个元素即为我们所需要的颜色 return colors.firstObject; } 4.2、覆盖动画 通过shapeLayer的动画,一开始先添加宽为“1”的线条,再设置动画,将线条的...animation.fromValue = @0.0; animation.toValue = @(self.bounds.size.width * 2); animation.duration = 0.3f; //* 设置填充色...*/ layer.path = path.CGPath; //* 设置填充色 */ layer.fillColor = [UIColor clearColor].CGColor

    1.1K30

    绘图-几种基本统计图的实现分析

    绘制虚线 CAShapeLayer设置 虚线宽,线间距 数组第一个是虚线中实现的长度,第二个是虚线中空白的宽度。...(context, aColor.CGColor);//填充颜色 CGContextAddArc(context, startPoint.x, startPoint.y, 3, 0, 2M_PI, 0...); //添加一个圆 CGContextDrawPath(context, kCGPathFill);//绘制填充 绘制数据 ** 在绘制数据这一块,如果值很多,大量的数据使用UILabel是不合适的...使用UIBezierPath绘制扇形 在我这篇文章中我说过:UIBezierPath是在 UIKit 中的一个类,继承于NSObject,可以创建基于矢量的路径.此类是Core Graphics...(160, 300); CGFloat radius = 50; //这里的思路是只设置一条路径供所有的CAShapeLayer使用,实际上 当前这条 //UIBezierPath

    1.5K10

    UIKit中封装了一些最常用的绘图方法2. 贝塞尔路径常用方法列表(BezierPath)3. 保存屏幕截图,并存储至相册

    贝塞尔路径常用方法列表(BezierPath) 2.1 贝塞尔路径的常用方法列表 2.1.1 构造函数 矩形 bezierPathWithRect 圆角矩形 bezierPathWithRoundedRect...,也可以用这种方式画圆 - (void)drawRect:(CGRect)rect { // 创建路径 // 参数1:矩形的左上角圆点及矩形的宽高。...; // 设置文字属性:字号为12,颜色为灰色,描边宽度为10 NSDictionary *attriStr = @{NSFontAttributeName:[UIFont systemFontOfSize...保存屏幕截图,并存储至相册 开启一个图形的context。开启就别忘了关闭。 iOS8.0 以后还需要获得用户许可的权限。之前的iOS不需要。 在plist中设置申请用户许可时的提示文字。...以及如何使用它们来绘制动态的进度条等等

    1.6K40

    仿淘宝类电商秒杀分页控件(附源码)

    功能特点 实现了菜单切换的视觉差,效果棒棒哒; 使用简单,创建一个控制器直接继承GFPageViewController,设置需要添加的子控制器、标题、副标题就搞定; 菜单大部分的样式都可进行自定义;...菜单遮罩的颜色、大小和箭头的大小也可以设置参数来控制; 菜单实现了防止用户连续点击功能; 支持pod导入. 3....组件使用 ▐ 4.1 基本使用方式 创建一个控制器继承自GFPageViewController,创建完之后给控制器设置需要添加的子控制器(Array)、标题(Array)、副标题(Array): #...; /** Menu mask的填充颜色 */ @property (nonatomic, strong) UIColor *maskFillColor; /** Menu mask三角形的宽度 */...这样使用起来就很方便,直接创建一个控制器继承GFPageViewController,再给他设置需要添加的子控制器、标题和副标题就 OK 了。

    1.3K20

    文字排版入门—— 排版基础、CoreText和图文混排

    , size.width, size.height)]; } } 3、创建图片并用前面找到的位置进行绘制,注意UIKit和CG坐标系的不同,如果直接使用UIImage的draw方法会出现上下颠倒的情况...unicode与前两者的维度不同,指的是一种字符集,与其类似的概念是ASCII码;至于常见UTF8,是一种unicode的编码方式。...的第一个字符,而是使用characterAtIndex的接口去获取(并且返回的是UTF16编码的字符); 另外,在iOS中NSUnicodeStringEncoding的编码方式就是NSUTF16StringEncoding...用中文来表达,就是一个是填充颜色,一个是描边颜色。...在iOS中,我们通过NSForegroundColorAttributeName和NSStrokeColorAttributeName这两个attribute来设置填充颜色。

    7.4K32

    创建简单动画(一) --- 常规hud

    如果是位移动画则考虑使用BasicAnimation或者KeyframeAnimation实现, 需要的话再搭配缓动函数 #3....一个闭合的圆弧(白色部分) 看起来不是简单的位移动画了, 我们用UIBezierPath加CADisplayLink一帧一帧来画试试看 灰色的背景, 这个比较简单, 我们直接创建一个UIView子类,...背景颜色设置为灰色 白色的圆环, 可以用UIBezierPath直接画一个圆,注意调整线的宽度 So easy //添加外圆 UIBezierPath *apath = [UIBezierPath...然后在Controller中创建计时器, 改变_count的值达到动画的效果 上代码: 先创建一个UIView子类, #import @interface MyView...frame.size.height; } return self; } - (void)drawRect:(CGRect)rect { // Drawing code //设置线条颜色

    62020

    Flutter使用Canvas实现微信红包领取效果

    0.8.sw 、1.2.sw 的 Container,颜色为红色。...红包布局 标题说了是使用 Canvas 来实现,所以红包布局主要是使用 Canvas 来实现,将前面红包的 Container 换成 CustomPaint, 然后创建 RedPacketPainter...Offset.zero; return bezierPath; } getTopBezierPath 源码分为两部分,第一部分是创建贝塞尔曲线的 path ,使用的是最开始初始化的数据创建,实现示意图中的第...,设置不同的颜色再绘制一个圆,这样就在同一个位置绘制了两个不同颜色的圆。...cancel(); } } 为了看到旋转的效果,将动画执行时间设置为 3 秒,并且让其重复执行,重复执行时设置 reverse 为 true,即反向执行,然后改造 _RedPacketState 混入

    1.7K32

    iOS动画专题·UIView二维形变动画与CAAnimation核心动画(transform动画,基础,关键帧,组动画,路径动画,贝塞尔曲线)

    ,基于UIView和CALayer的属性设置变化值即可。...如果在程序中改变了某个控件的transform,那么请不要使用这个控件的frame计算 子控件 的布局,应该使用bounds+center代替。 3....,负责控制动画的持续时间和速度,是个抽象类,不能直接使用,应该使用它具体的子类 3.3 CAAnimation类的属性 带*号代表来自CAMediaTiming协议的属性) *duration:动画的持续时间...timingFunction:速度控制函数,控制动画运行的节奏 delegate:动画代理 3.4 几个重要属性值 removedOnCompletion属性值 CAAnimation——动画填充模式...组动画 6.1 组动画 上面单一动画的情况在实际开发中实际比较少,更多的时候是组合这些动画:创建不同类型的动画对象,设置好它们的参数,然后把这些动画对象存进数组,传进组动画对象的animations属性中去

    3.4K21

    iOS开发之画图板(贝塞尔曲线)

    这篇博文的重点不在于如何用使用贝塞尔曲线,而是利用贝塞尔划线的功能来封装一个画图板。   ...MyView.h中的代码如下,代码具体意思请参照注释 1 #import 2 3 @interface MyView : UIView 4 //用来设置线条的颜色...; 6 @end     3.下面的代码就是实现部分的代码了,会根据不同功能给出相应的说明       (1).初始化我们的白板,给线条指定默认颜色和宽度并且给相应的变量分配内存空间,初始化代码如下:...,把触摸起点设置成BezierPath的起点,并把将要画出的线条以及线条对应的属性封装成字典添加到显示栈中,代码如下 1 -(void)touchesBegan:(NSSet *)touches withEvent...= self.mySlider.value; 5 }     2、通过SegmentControl来设置线条的颜色 1 /通过segmentControl来设置线条的颜色 2 - (IBAction

    1.6K100

    iOS坐标系探究

    正文 我们先从一段最简单的代码入手,在drawRect中显示一个普通的UILabel; 为了方便判断,我把整个view的背景设置成黑色: - (void)drawRect:(CGRect)rect {...从这个不同的现象开始,我们来理解iOS的坐标系。 坐标系概念 在iOS中绘制图形必须在一个二维的坐标系中进行,但在iOS系统中存在多个坐标系,常需要处理一些坐标系的转换。...先介绍一个图形上下文(graphics context)的概念,比如说我们常用的CGContext就是Quartz 2D的上下文。图形上下文包含绘制所需的信息,比如颜色、线宽、字体等。...用我们在Windows常用的画图来参考,当我们使用画笔在白板中写字时,图形上下文就是画笔的属性设置、白板大小、画笔位置等等。...,同样是固定左上角为原点; 根据我们绘制的目标不同(屏幕、位图、PDF等),会有多个context; 不同context的绘制坐标系各不相同,比如说UIKit的坐标系为左上角原点的坐标系,CoreGraphics

    2.8K30

    思路和所用到的内容2. 辅助元素的创建(背景颜色、草坪、大地、小树、云彩)3. 雪山的实现4. 轨道的实现

    所以火车轨道、雪山俺会单独拿出两小节来说说这个令人头疼的玩意。 2. 辅助元素的创建(背景颜色、草坪、大地、小树、云彩) 辅助元素完成后的效果图: ?...就是分别创建了大地和小树的CALayer,为了使用不同的方法,大地我们通过backgroundColor填充了图片。...小树的Layer,我们通过设置contents进行了图片填充。...画完了之后,使用图片进行填充就完成了90%的工作。 为了让轨道看起来更好看一些,对轨道的边缘进行镂空,内部填充色变成透明。 4.1 绘画的步骤 1,先画最右边的弧线,一个二次贝塞尔曲线。 ?...Paste_Image.png 5,把曲线的背景颜色填充为准备好的小格子。 ? Paste_Image.png 6,为了让轨道看起来更加逼真,让曲线的边缘变成虚线。 ?

    1.7K50
    领券