Tôi khá mới để phát triển iOS (vì vậy xin vui lòng tha thứ cho sự vô cảm của tôi - tôi đã xem ở khắp mọi nơi!), Và đang tìm cách tìm ra một cách để phát hiện một cú chạm trên CAShapeLayer
. Cho đến nay, tôi đã đi qua hitTest
. Có phải phương pháp tốt nhất là hitTest
và nếu được sử dụng trong Swift, đặc biệt là với CAShapeLayer
thì sao? Ngoài ra, nếu tôi có nhiều CAShapeLayers, làm thế nào tôi có thể sử dụng phương thức hitTest để chỉ riêng chúng?Phát hiện một vòi nước trên CAShapeLayer trong Swift?
Đây là cách tôi tạo ra CAShapeLayer:
let newBounds = CGRect(x: 0, y: 0, width: 200, height: 200)
let newShape = CAShapeLayer()
newShape.bounds = newBounds
newShape.position = view.center
newShape.cornerRadius = newBounds.width/2
newShape.path = UIBezierPath(ovalInRect: newShape.bounds).CGPath
newShape.lineWidth = 42
newShape.strokeColor = UIColor(red: 222/255.0, green: 171/255.0, blue: 66/255.0, alpha: 1.0).CGColor
newShape.fillColor = UIColor.clearColor().CGColor
newShape.strokeStart = 0.2
newShape.strokeEnd = 0.4
view.layer.addSublayer(newShape)
Tôi đã thử mã của bạn nhưng không có gì đang in trên bảng điều khiển khi tôi nhấn vào CAShapeLayer vì một số lý do. – John
Chỉ cho tôi cách bạn tạo shapelayer đó – Arbitur
Tôi đã đặt nó ở trên. – John