Sobes.tech
Middle

Kako odrediti da li je korisnik kliknuo na sloj (layer)?

sobes.tech АИ

Одговор од АИ

Koristite metodu hitTest: na UIView, u koji je ugrađen ovaj sloj, ili proverite da li tačka kontakta pripada okviru sloja pomoću containsPoint: ili hitTest:.

Primer detekcije dodira na sloju unutar 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) // Pretvoriti tačku u koordinate sloja

    if myLayer.contains(locationInLayer) {
        // Korisnik je dodirnuo myLayer
        print("Sloj dodirnut!")
    }
}