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

CABasicAnimation旋转返回原始位置

CABasicAnimation 是一种 Core Animation 框架下的基本动画,它允许您在指定的时间内将一个视图从一个位置移动到另一个位置,并在动画结束后将其返回到原始位置。

在 CABasicAnimation 中,旋转会随着动画的进行而进行,而不是在动画结束后立即进行。如果需要在动画结束后立即旋转视图,则需要使用 CAAnimationGroup。

CABasicAnimation 旋转返回原始位置可以通过设置 toValue 属性来实现。例如:

代码语言:csharp
复制
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
animation.toValue = @(M_PI); // 旋转 360 度
animation.duration = 1.0f;
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[self.view.layer addAnimation:animation forKey:@"rotationAnimation"];

在上面的代码中,我们设置了 CABasicAnimation 的 keyPath 为视图的旋转属性 transform.rotation,并且将 toValue 设置为旋转 360 度的值。duration 属性指定了动画的时间长度,而 timingFunction 属性指定了动画的速度曲线。最后,我们将动画添加到视图的图层中,并使用 forKey 属性将其与视图关联起来。

当动画结束时,视图的旋转角度将恢复到初始状态。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

django执行原始查询sql,并返回Dict字典例子

很多时候执行sql语句,数据比django的model来的快,但并不想关心返回的字段,例如你可以执行:select * from product这种sql,这里个方法将会返回与数据库列名相同的键值对 ,...# coding:utf-8 from django.db import connection, transaction '''执行django原始sql语句 并返回一个数组对象''' def executeQuery...为了处理方便,需要从数据库查询后直接返回字典类型的数据。...获取连接对象的游标是由DatabaseWrapper类的create_cursor返回的。所以只需要重写create_cursor方法,就可以更改游标返回的数据类型了。...以上这篇django执行原始查询sql,并返回Dict字典例子就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.5K20

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

不管removedOnCompletion是yes还是no,都会回到原始状态..一般用在重复的动画里..比如图片旋转5圈..你做一圈的功能.然后重复5次..就行了.....kCAFillModeForwards 或 kCAFillModeBoth模式下...如果..removedOnCompletion 是yes,动画完成后会回到原始状态..removedOnCompletion...比如设置动画时长为3秒,当设置timeOffset为1.5时,当前动画会从中间位置开始,并在到达指定位置时,走完之前跳过的前半段动画。 repeatCount -> 动画的重复次数。...例如这里填写的是 @"transform.rotation.z" 意思就是围绕z轴旋转,旋转的单位是弧度.这个动画的效果是把view旋转到最小,再旋转回来.你也可以填写@"opacity" 去修改透明度...在这个动画里,是设置了要旋转到的弧度,根据以上规则,动画将会从它当前的弧度专旋转到我设置的弧度.

2.6K30

博采众长式的旋转位置编码

上一篇文章中,我们对原始的Sinusoidal位置编码做了较为详细的推导和理解,总的感觉是Sinusoidal位置编码是一种"想要成为相对位置编码的绝对位置编码"。...本文将会介绍追一科技自研Rotary Transformer(RoFormer)模型,它的主要改动是引用了苏剑林大佬构思的"旋转位置编码(Rotary Position Embedding,RoPE)...",这是一种配合Attention机制能达到"绝对位置编码的方式实现相对位置编码的设计"。...,所以我们称之为"旋转位置编码",它还可以写成矩阵形式: 为什么旋转对应矩阵相乘,可以看这篇文章:旋转之一 - 复数与2D旋转,或者大家直接搜复数乘法与向量旋转 由于内积满足线性叠加性,因此任意偶数维的...Attention,并且不改变它的概率意义 模型开源 关于模型开源部分请查看文章开头部分的Rotary Transformer(RoFormer) Reference Transformer升级之路:2、博采众长的旋转位置编码

1.6K20

疯狂ios讲义之使用CoreLocati

监听方向时返回的是一个CLHeading对象,该对象包含如下属性。 magneticHeading:该属性返回设备与磁北的相对方向。 trueHeading:该属性返回设备与真北的相对方向。  ...headingAccuracy:该属性返回方向值的误差范围。 timestamp:该属性返回方向值的生成时间。 x:获取该设备在X方向上监听得到的原始磁力值,该磁力值的强度单位是微特斯拉。...y:获取该设备在Y方向上监听得到的原始磁力值,该磁力值的强度单位是微特斯拉。 z:获取该设备在Z方向上监听得到的原始磁力值,该磁力值的强度单位是微特斯拉。...需要说明的是,trueHeading属性需要与位置探测功能一起使用,iOS系统需要设备的位置来计算确定真北所需要的偏差。...新建一个Single View Application,无须修改界面设计文件,直接在应用的视图控制器类的实现部分创建界面,并让应用中显示方向的图片随着设备方向自动旋转即可。

78300

iOS动画总结

你只需要配置少量的动画参数(如开始点的位置和结束点的位置)即可使用Core Animation的动画效果。...属性 duration:动画的持续时间 beginTime:动画的开始时间 repeatCount:动画的重复次数 autoreverses:动画按照原动画返回执行 timingFunction...比如:位移、透明度、缩放、旋转、背景色等等。 主要提供如下属性: fromValue:keyPath对应的初始值 toValue:keyPath对应的结束值 示例: ?...有点类似于Android的帧动画,不过这里的组动画是将一些基础的动画拼接而成的,比如同时缩小、旋转、渐变。 主要属性有: animations:用来保存一组动画对象的NSArray。..."; animationScale.toValue = @(0.1); CABasicAnimation *animationRota = [CABasicAnimation animation

1K80

iOS动画-CAAnimation使用详解

)(设置speed为2时,则动画实际执行时间是duration的一半) timeOffset CFTimeInterval 动画时间偏移量;(设置时长3秒动画的timeOffset为1时,动画会从1秒位置执到最后...过渡动画的默认效果是禁用的; 2.我们不能错误的理解CATransition只可以改变非动画属性,其实它也可以对类似backgroundColor的属性做过渡效果动画; 5.自定义过渡动画 过渡动画的过程就是对原始图层外观截图...,所以我们需要判断到底是哪个图层的动画调用; 首先,动画本身会作为一个参数传入委托的方法,也许你会认为可以在控制器中把动画存储为一个属性,然后在回调用比较,但实际上并不起作用,因为委托传入的动画参数是原始值的一个深拷贝...M_PI(180度)调整到M_PI*2(360度),对比两次动画会发现,txtLabel完全看不到旋转的动画效果;这是因为CATransform3D矩阵做了360度旋转其实适合0度是一样的,所以最后的值根本就没变...CABasicAnimation_VirtualProperty.gif 总结transform.rotation相比transfrom做动画的好处如下: 可以不通过关键帧,只一个步骤就实现旋转多于180

2.1K10

Vue 返回记住滚动条位置详解

最近用 Vue 做移动端页面遇到一个问题,从列表页进入详情页,再返回到列表页,不管之前滚动到哪里,每次返回时都跳到列表最顶部。...这样体验肯定不好,期望的应该是记住滚动条的位置,每次返回还是在原来的位置上,便于继续浏览。 于是在网上搜解决方法,搜了一大圈看了 n 篇文章,都没有说清楚。...我们知道获取滚动位置是用 scrollTop 这个属性,下面我们就依次打印出这几个元素的 scrollTop 。...scrollTop 上面已经介绍过了,使用 keep-alive 之后,每次返回页面会调用 activated 生命周期方法,所以在这个方法里设置之前记住的 scrollTop,达到记住滚动位置的效果...font-size: px2rem(16); padding: px2rem(10); } } } } 好了,以上就是 Vue 返回记住滚动条位置的详解

2.6K30

ios动画

你只需要配置少量的动画参数(如开始点的位置和结束点的位置)即可使用Core Animation的动画效果。...属性 duration:动画的持续时间 beginTime:动画的开始时间 repeatCount:动画的重复次数 autoreverses:动画按照原动画返回执行 timingFunction:控制动画的显示节奏系统提供五种值选择...比如:位移、透明度、缩放、旋转、背景色等等。 主要提供如下属性: fromValue:keyPath对应的初始值 toValue:keyPath对应的结束值 示例: ?...有点类似于Android的帧动画,不过这里的组动画是将一些基础的动画拼接而成的,比如同时缩小、旋转、渐变。 主要属性有: animations:用来保存一组动画对象的NSArray。 示例: ?..."; animationScale.toValue = @(0.1); CABasicAnimation *animationRota = [CABasicAnimation animation

70450

iOS开发CoreAnimation解读之四——Layer层动画内容

instancetype)animationWithKeyPath:(nullable NSString *)path; //这个属性确定动画执行的状态是否叠加在控件的原状态上 //默认设置为NO,如果我们执行两次位置移动的动画...,会从同一位置执行两次 //如果设置为YES,则会在第一次执行的基础上执行第二次动画 @property(getter=isAdditive) BOOL additive; //这个属性对重复执行的动画有效果...:  //绕z轴旋转的动画     CABasicAnimation * ani = [CABasicAnimation animationWithKeyPath:@"transform"];     ...: //绕z轴旋转的动画     CABasicAnimation * ani = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z...@property(nullable, strong) id toValue; @property(nullable, strong) id byValue; 上面三个属性都是来确定动画的起始与结束位置

93710

CAAnimation 核心动画概念一、 CAAnimation二、 CAPropertyAnimation三、CABasicAnimation(基本动画)CAPropertyAnimation的子类

例子: CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position.y"]; 可修改的keyPath参数...的fromValue为(10,10),toValue为 (100,100),虽然动画执行完毕后图层保持在(100,100) 这个位置,实质上图层的position还是为(0,0); byValue:不断进行累加的数值...旋转模式效果1 (2)设置为kCAAnimationRotateAuto 或 kCAAnimationRotateAutoReverse 会随着旋转的角度做 ”自转“ animKey.rotationMode...向组动画中添加各种子动画 // 2.1 旋转 CABasicAnimation *anim1 = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z...改变位置, 修改position CAKeyframeAnimation *anim3 = [CAKeyframeAnimation animationWithKeyPath:@"position"];

1.8K90
领券