Sobes.tech
Middle — Middle+

Sistemdə Gesture Recognizer və Cavab Zənciri ardıcıllığındakı işləyici arasında qarşılıqlı əlaqəni necə həyata keçirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

iOS-də Gesture Recognizer istifadəçinin hərəkətlərini (məsələn, toxunuş, sürüşdürmə) tanıyır və onların aşkarlanması zamanı hadisəni Handler Chain-ə göndərir. Əlaqə aşağıdakı kimi həyata keçirilir:

  1. Gesture Recognizer UIView-ə qoşulur.
  2. Hərəkət tanındıqda, o, target-action metodunu çağırır.
  3. Əgər Gesture Recognizer hadisəni tam işləməzsə, o, responder zənciri boyunca — UIView, UIViewController, UIWindow və s. — ötürülür.

Bu, hərəkətlərin işlənməsini digər interfeys hadisələri ilə birləşdirməyə imkan verir. Məsələn, əgər Gesture Recognizer ləğv olunarsa və ya işə düşməzsə, hadisə standart şəkildə zəncirdə işlənə bilər.

Nümunə:

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap))
someView.addGestureRecognizer(tapGesture)

@objc func handleTap() {
    print("Tapaq aşkarlanıb")
}

Əgər ehtiyac varsa, UIResponder metodlarını yenidən yaza bilərsiniz, beləliklə, Gesture Recognizer tərəfindən işlənməyən hadisələri ələ keçirə bilərsiniz.