动画阴影属性

时间:2019-07-10 19:07:52

标签: ios swift

我要为视图的阴影属性设置动画。最初我尝试过:

function propertiesTest() {
  var ps=PropertiesService.getScriptProperties();
  ps.setProperty('test','');
  for(var i=0;i<10;i++) {
    ps.setProperty('test',ps.getProperty('test') + '\n' + i)
  }
  Logger.log(ps.getProperty('test'));
}

鉴于UIView.animate不适用于图层,因此不起作用。

我测试了以下帖子(How to animate layer shadowOpacity?),但仅指定了如何为阴影不透明度设置动画。有没有办法像使用动画blocl一样对我所有的阴影属性进行动画处理?

1 个答案:

答案 0 :(得分:0)

您非常接近,只需为所有属性更改创建多个CABasicAnimation,然后就可以使用CAAnimationGroup

因此,假设您有2个CABasicAnimation动画,例如:

let shadownOpacityAnimation = CABasicAnimation(keyPath: "shadowOpacity")
...
let shadowRadiusAnimation = CABasicAnimation(keyPath: "shadowRadius")
...

然后您可以使用CAAnimationGroup

添加它们
let group = CAAnimationGroup()
group.duration = 0.2
group.repeatCount = 1
group.autoreverses = false
group.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut)
group.animations = [shadownOpacityAnimation, shadowRadiusAnimation]
layer.add(group, forKey: "allAnimations")

您可以在此答案中了解更多信息:

How can I create an CABasicAnimation for multiple properties?