Junior — Middle
Ako určuje aplikácia, ktorá časť rozhrania by mala reagovať na dotyk?
sobes.tech AI
Odpoveď od AI
V iOS sa používa mechanizmus hit-testing na určenie, ktorá časť rozhrania by mala reagovať na dotyk. Keď používateľ dotkne obrazovky, systém začína od koreňového zobrazenia (UIView) a rekurzívne kontroluje, ktoré podzobrazenie je pod bodom dotyku.
Proces zahŕňa nasledujúce kroky:
- Systém volá metódu
hitTest(_:with:)na koreňovom UIView a odovzdáva súradnice dotyku. - UIView kontroluje, či je bod dotyku vo vnútri jej hraníc (
point(inside:with:)). Ak nie, vráti nil. - Ak je vo vnútri, UIView prechádza svoje podzobrazenia v opačnom poradí (zhora nadol) a volá na ne
hitTest(_:with:). - Ak niektoré podzobrazenie vráti nenull, znamená to, že má spracovať dotyk.
- Ak žiadne podzobrazenie nie je vhodné, vráti sa samotné UIView.
Týmto spôsobom aplikácia presne určuje, ktorý prvok rozhrania je pod prstom používateľa a je pripravený prijať udalosť.