У меня есть несколько слоев CAShapeLay, и все они могут быть преобразованы с помощью CATransform3D.
Я нашел способ точно определять отводы, которые находятся на или внутри путей этих слоев, но он работает, только если слои не преобразованы.
Как я могу сделать эту работуправильно в любых ситуациях?
@objc private func userTapped(recognizer: UITapGestureRecognizer) {
let tapLocation = recognizer.location(in: canvas)
for shapeLayer in shapeLayers {
guard let path = shapeLayer.path else { continue }
let tempPath = path.copy(strokingWithWidth: CGFloat(lineWidth * 2), lineCap: .round, lineJoin: .round, miterLimit: .zero)
if tempPath.contains(tapLocation) {
// DO SOMETHING
}
}
}