Sobes.tech
Middle

Hogyan lehet meghatározni, hogy a felhasználó rákattintott-e egy rétegre (layer)?

sobes.tech MI

Válasz az MI-től

Használja a hitTest: módszert a UIView-n, amelybe ez a réteg beágyazódik, vagy ellenőrizze, hogy a érintési pont tartozik-e a réteg keretéhez a containsPoint: vagy hitTest: segítségével.

Példa a rétegen belüli érintés felismerésére a touchesBegan-ben:

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) // Pont átalakítása a réteg koordinátáira

    if myLayer.contains(locationInLayer) {
        // A felhasználó megérintette a myLayer-t
        print("Réteg megérintve!")
    }
}