作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法让 View 以指定的速度永远旋转?我需要它来作为指标之类的东西。我知道有一个奇怪的 Lxxxxx00ff 常量(记不太清了)代表“永远”。
最佳答案
您可以使用HUGE_VAL
作为 float 值(如果我没记错的话,动画的repeatCount属性是一个 float 值)。
要设置动画,您可以使用+animationWithKeyPath:
方法创建CAAnimation对象:
CABasicAnimation* animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
animation.fromValue = [NSNumber numberWithFloat:0.0f];
animation.toValue = [NSNumber numberWithFloat: 2*M_PI];
animation.duration = 3.0f;
animation.repeatCount = HUGE_VAL;
[rotView.layer addAnimation:animation forKey:@"MyAnimation"];
如果我没记错的话,仅使用 UIView 动画创建这种旋转是不可能的,因为 360 度(2*M_PI 弧度)的旋转已优化为根本不旋转。
<小时/>编辑:添加了 Swift 版本。
let animation = CABasicAnimation(keyPath: "transform.rotation.z")
animation.fromValue = NSNumber(value: 0.0)
animation.toValue = NSNumber(value: 2*Double.pi)
animation.duration = 3.0
animation.repeatCount = Float.greatestFiniteMagnitude
rotView.layer.add(animation, forKey: "MyAnimation")
关于iphone - 如何让 View 永远旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3803792/
我是一名优秀的程序员,十分优秀!