Почему это событие touchesMoved такое медленное?

У меня есть этот код, чтобы перетащить CAShapeLayer но это действительно не так отзывчиво, как я ожидал, но я понятия не имею, почему.

Это только начальная стадия функции, она не учитывает hitTest -ную.

Я вернусь к этому позже, и это может не понадобиться. Если я коснусь формы, то вначале анимация перемещает ее довольно быстро, но затем кажется, что она застряла в патоке...

Вот мой код

 override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
    guard let touch = touches.first else {
        return
    }
    let currentPoint = touch.location(in: view)
    print("Current Point: \(currentPoint)")
    if let sublayers = drawOVerlay.layer.sublayers {
        let count = sublayers.count
        if drawOVerlay.layer.sublayers?.count != nil {
            let shape : CALayer = sublayers[count - 1]
            shape.frame.origin = CGPoint(x:currentPoint.x - (shape.frame.size.width / 2), y:currentPoint.y - (shape.frame.size.height / 2))
            shape.needsDisplay()
        }
    }
}

0 ответов

Другие вопросы по тегам