Sobes.tech
Junior — Middle

Kas on võimalik kasutajate sündmuste töötlemine liidese puhul, kui omadus userInteractionEnabled on seatud väärtusele false?

sobes.tech AI

Vastus AI-lt

Kui UIView või selle alamklass on omadus userInteractionEnabled seatud väärtusele false, siis see element ja kõik selle lapsed ei saa interaktsioonisündmusi (puudutused, žestid jne).

Kuid, kui soovite sündmusi töödelda hoolimata userInteractionEnabled = false, saate:

  • Ülekirjutada sündmuste töötlemise meetodid vanemkontrolleris või teises kontrollijas.
  • Kasutada žeste (UITapGestureRecognizer ja teisi), mis on lisatud vanemvaatesse, millel on userInteractionEnabled = true.
  • Luua pealispind, mis on läbipaistev ja püüab sündmusi.

Otse elemendil, millel on userInteractionEnabled = false, sündmuste töötlemine ei ole võimalik, kuna süsteem ei edasta neile sündmusi.