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("ფენა შეეხო!")
    }
}