Sobes.tech
Junior — Middle

Kako aplikacija određuje koji deo interfejsa treba da reaguje na dodir?

sobes.tech АИ

Одговор од АИ

У iOS се користи механизам hit-testing за одређивање који део интерфејса треба да реагује на додир. Када корисник додирне екран, систем почиње од кореновог приказа (UIView) и рекурзивно проверава који под-вид је испод тачке додира.

Процес укључује следеће кораке:

  1. Систем позива метод hitTest(_:with:) на кореновом UIView-у, преносећи координате додира.
  2. UIView проверава да ли је тачка додира унутар његових граница (point(inside:with:)). Ако није, враћа nil.
  3. Ако јесте, UIView пролази кроз своје под-видове у обрнутом редоследу (од врха према дну) и позива их hitTest(_:with:).
  4. Ако неки под-вид врати не nil, то значи да он треба да обради додир.
  5. Ако ниједан под-вид није погодан, враћа се сам UIView.

На овај начин, апликација прецизно одређује који елемент интерфејса је испод прста корисника и спреман да прими догађај.