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:
- Gesture Recognizer UIView-ə qoşulur.
- Hərəkət tanındıqda, o, target-action metodunu çağırır.
- Ə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.