Swift 将 CABasicAnimation 与 label.text 同步

标签 swift animation uiview cabasicanimation cashapelayer

我有一个圆形进度条,它将通过以下方式进行动画处理:

func animateCircle(from: Double, to: Double ) {
    let animation = CABasicAnimation(keyPath: "strokeEnd")
    animation.duration = 2
    animation.fromValue = from
    animation.toValue = to/60
    animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
    self.progressCircle.strokeEnd = CGFloat(to/60)
    self.progressCircle.addAnimation(animation, forKey: "animateCircle")
}

笔划动画效果很好,可以可视化“0-60 分钟”。动画圈的中心是一个标签,它也应该是动画的(计数,持续时间 2 秒)。有没有办法将“更改事件”添加到 CABasicAnimation 或 CAShapeLayer 以使标签与形状本身同步。有什么想法吗?

最佳答案

您不需要同步它们。如果您在启动圆形动画的同时启动 2 秒的标签动画,它们将同时发生。在此演示中,我运行一个重复计时器来使标签计数:

enter image description here

关于Swift 将 CABasicAnimation 与 label.text 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29932682/

相关文章:

ios - 如何将自定义 View 动画化为自定义 View

ios - 使用不存在的键访问字典时解包可选值时意外发现 nil

ios - 如何将对 tableView 的约束设置为 viewController?

ios - 类方法中的实例方法swift

ios - 在 Swiftui animate WithDuration 期间跟踪对象的坐标

iphone - 旋转 UIView iPhone

css - 为元素添加CSS动画

swift - 如何在 swift 中根据 UIButton 位置添加自定义 View ?

objective-c - 不规则形状的碰撞检测

ios - 跟踪应用程序 Swift 中的所有用户触摸