作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
**注意:这适用于 iOS,而不是 OS X,因此不会自动设置隐式动画。
我正在尝试将隐式动画添加到 CALayer 的位置属性。
我的(不正确的)代码是这样的:
NSMutableDictionary * actions = [self.view.layer.actions mutableCopy ] ;
if ( !actions ) { actions = [ NSMutableDictionary dictionary ] ; }
CABasicAnimation * anim = [ CABasicAnimation animationForKeyPath:@"position" ] ;
[ actions setValue:anim forKey:@"position" ] ;
self.view.layer.actions = actions ;
我的问题是,我应该在这种情况下使用哪种动画(上面的 anim 属性),即 CABasicAnimation
、CATransition
以及我应该如何配置它?
感谢
最佳答案
隐式动画只需设置位置属性(即 self.view.layer.position = <new position>;
)即可触发,Quartz 将使用您当前的 CATransaction 处理其余部分。设置。
如果您想使用显式动画(您似乎正在尝试这样做),我会使用 CABasicAnimation 并执行类似的操作。
self.view.layer.position = <new position>;
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
animation.duration = <duration>;
animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
animation.fromValue = <current position>;
animation.toValue = <new position>;
[line addAnimation:animation forKey:@"position"];
关于ios - 如何为 CALayer 的 'position' 属性添加隐式动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9652482/
我是一名优秀的程序员,十分优秀!