Sobes.tech
Junior — Middle

Ar įmanoma įgyvendinti naudotojo įvykių apdorojimą sąsajoje, kai savybė userInteractionEnabled nustatyta į false?

sobes.tech AI

Atsakymas iš AI

Jei UIView arba jos pogrupės savybė userInteractionEnabled nustatyta kaip false, tada šis elementas ir visi jo vaikai negaus sąveikos įvykių (bakstelėjimų, gestų ir kt.).

Tačiau, jei norite apdoroti įvykius nepaisant to, kad userInteractionEnabled = false, galite:

  • Perrašyti įvykių apdorojimo metodus tėvų ar kito kontrolerio lygyje.
  • Naudoti gestus (UITapGestureRecognizer ir kt.), pridėtus prie tėvų vaizdo, kuris turi userInteractionEnabled = true.
  • Sukurti permatomą sluoksnį viršuje, kuris gaudys įvykius.

Tiesiogiai elemente su userInteractionEnabled = false įvykių apdoroti neįmanoma, nes sistema jų neperduoda.