Sobes.tech
Middle

Πώς να προσδιορίσετε αν ο χρήστης έκανε κλικ σε ένα στρώμα (layer);

sobes.tech AI

Απάντηση από AI

Χρησιμοποιήστε τη μέθοδο hitTest: στο UIView, στην οποία ενσωματώνεται αυτό το στρώμα, ή ελέγξτε αν το σημείο επαφής ανήκει στο πλαίσιο του στρώματος χρησιμοποιώντας containsPoint: ή hitTest:.

Παράδειγμα ανίχνευσης επαφής στο στρώμα μέσα από το touchesBegan:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    guard let touch = touches.first else { return }
    let locationInView = touch.location(in: self.view)
    let locationInLayer = self.view.layer.convert(locationInView, to: myLayer) // Μετατροπή του σημείου στις συντεταγμένες του στρώματος

    if myLayer.contains(locationInLayer) {
        // Ο χρήστης πάτησε το myLayer
        print("Το στρώμα πατήθηκε!")
    }
}