Swift脉冲动画

4
我正在尝试制作一个脉冲动画,我找到了这个链接:如何在iOS上对UIButton执行本地“脉冲效果”动画,它非常有用,但我需要其他东西。 我有一个带边框的文本框UITextField,当你聚焦在它上面时,我想要边框改变颜色,但是以特定的方式。
我希望它从中心开始然后向外扩散,我找不到这种动画,所以我将尝试通过文本演示它:B = 黑色Y = 黄色
这是边框:
BBBBBBB

边框获取焦点:

BBBYBBB
BBYYYBB
BYYYYYB
YYYYYYY

动画结束,焦点丢失:

BYYYYYB
BBYYYBB
BBBYBBB
BBBBBBB

我的代码大致如下:

let pulseAnimation = CABasicAnimation(keyPath: "borderColor")
pulseAnimation.duration = 3
pulseAnimation.fromValue = UIColor.darkGrayColor().CGColor
pulseAnimation.toValue = UIColor.yellowColor().CGColor
pulseAnimation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEasInEaseOut)
pulseAnimation.autoreverses = true
//pulseAnimation.repeatCount = FLT_MAX
x.layer.sublayers![0].addAnimation(pulseAnimation, forKey: nil)

它可以工作,但我需要它做其他的事情。

1个回答

17

这个动画在3秒钟内不断地从0到1的透明度之间呼吸变化:

let pulseAnimation = CABasicAnimation(keyPath: "opacity")
pulseAnimation.duration = 3
pulseAnimation.fromValue = 0
pulseAnimation.toValue = 1
pulseAnimation.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut)
pulseAnimation.autoreverses = true
pulseAnimation.repeatCount = .greatestFiniteMagnitude
self.view.layer.add(pulseAnimation, forKey: nil)

1
这很有用,但它不是被要求的东西吗?还是问题被修改了? - TylerJames

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接