Как поймать моменты, когда путь нарисован для каждой точки в слое формы? - PullRequest
0 голосов
/ 07 января 2019

Все, что я делаю, это:

let pathLayer = CAShapeLayer()

func drawBezierPath(from points: [CGPoint]) {
    let path = UIBezierPath()
    path.move(to: points.first!)
    points.forEach { path.addLine(to: $0) }
    pathLayer.path = path.cgPath

    CATransaction.begin()
    CATransaction.setCompletionBlock(block)
    let strokeEndAnimation = CABasicAnimation(keyPath: "strokeEnd")
    strokeEndAnimation.fromValue = 0
    strokeEndAnimation.toValue = 1
    let animation = CAAnimationGroup()
    animation.animations = [strokeEndAnimation]
    animation.duration = 1
    pathLayer.add(animation, forKey: "PathAnimation")
    CATransaction.commit()
}

Вопрос в том, как уловить моменты, когда путь размещен на экране для каждой точки пути. Зачем? Мне нужно центрировать вид прокрутки до текущей точки. Как я могу это сделать?

...