Junior — Middle
Uygulama, arayüzün hangi bölümünün dokunma ile tepki vereceğine nasıl karar verir?
sobes.tech yapay zeka
AI'dan gelen yanıt
iOS'ta, dokunma olayına yanıt vermesi gereken arayüz bölümünü belirlemek için hit-testing mekanizması kullanılır. Kullanıcı ekranı dokunduğunda, sistem kök görünümden (UIView) başlar ve dokunma noktasının altında hangi alt görünümün olduğunu özyinelemeli olarak kontrol eder.
İşlem şu adımları içerir:
- Sistem, kök UIView üzerinde
hitTest(_:with:)metodunu çağırır ve dokunma koordinatlarını iletir. - UIView, dokunma noktasının sınırları içinde olup olmadığını (
point(inside:with:)) kontrol eder. Değilse, nil döner. - Nokta içinde ise, UIView alt görünümlerini ters sırayla (üstten alta) dolaşır ve onlara
hitTest(_:with:)çağrısı yapar. - Eğer herhangi bir alt görünüm nil olmayan bir değer dönerse, bu onun dokunmayı işlemesi gerektiği anlamına gelir.
- Hiçbir alt görünüm uygun değilse, UIView kendisi döndürülür.
Bu şekilde, uygulama kullanıcının parmağının altında hangi arayüz öğesinin olduğunu ve olay alacak durumda olduğunu belirler.