Junior — Middle
Tətbiq interfeysin hansı hissəsinin toxunma ilə cavab verəcəyini necə müəyyən edir?
sobes.tech Süni İntellekt
AI-dan cavab
iOS-da, interfeysin hansı hissəsinin toxunma siqnalına cavab verməli olduğunu müəyyən etmək üçün hit-testing mexanizmi istifadə olunur. İstifadəçi ekranı toxunduqda, sistem kök görünüşündən (UIView) başlayır və rekursiv olaraq hansı alt görünüşün toxunma nöqtəsinin altında olduğunu yoxlayır.
Proses aşağıdakı addımları əhatə edir:
- Sistem kök UIView-də
hitTest(_:with:)metodunu çağırır və toxunma koordinatlarını ötürür. - UIView, toxunma nöqtəsinin onun sərhədləri daxilində olub-olmadığını (
point(inside:with:)) yoxlayır. Əgər yoxdursa, nil qaytarır. - Əgər daxilindədirsə, UIView öz alt görünüşlərini tərsinə (yuxarıdan aşağıya) gəzərək onlara
hitTest(_:with:)çağırır. - Əgər hər hansı alt görünüş nil olmayan dəyər qaytarırsa, bu onun toxunuşu işləməli olduğunu göstərir.
- Əgər heç bir alt görünüş uyğun deyilsə, UIView özü qaytarılır.
Bu şəkildə, tətbiq istifadəçinin barmağının altında hansı interfeys elementinin olduğunu və hadisəni qəbul etməyə hazır olduğunu müəyyən edir.