bounty还有4天到期。回答此问题可获得+100声望奖励。Saranjith正在寻找一个规范的答案:用于此用例的工作代码,支持无限循环。
如何在Swift iOS中制作蛇形边框动画
随着吹代码,它不继续动画。一旦它完成了从另一个位置开始。注意:我需要支持矩形的圆角半径。
当前代码:
borderShapeLayer.path = UIBezierPath(roundedRect: contentView.bounds, byRoundingCorners: .allCorners, cornerRadii: CGSize(width: 15, height: 15)).cgPath
borderShapeLayer.fillColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 0).cgColor
borderShapeLayer.strokeColor = #colorLiteral(red: 1, green: 0, blue: 0, alpha: 1).cgColor
borderShapeLayer.lineWidth = 5
borderShapeLayer.strokeStart = 0.8
let startAnimation = CABasicAnimation(keyPath: "strokeStart")
startAnimation.fromValue = 0
startAnimation.toValue = 0.8
let endAnimation = CABasicAnimation(keyPath: "strokeEnd")
endAnimation.fromValue = 0.2
endAnimation.toValue = 1.0
let animation = CAAnimationGroup()
animation.animations = [startAnimation, endAnimation]
animation.duration = 20
animation.repeatCount = .infinity
borderShapeLayer.add(animation, forKey: "MyAnimation")
contentView.layer.addSublayer(borderShapeLayer)
1条答案
按热度按时间chhkpiq41#
我需要实现一个类似的解决方案,并提出了这个方案。
你可以这样使用它:
结果: