Sobes.tech
Junior — Middle

Da li je moguće implementirati obradu korisničkih događaja u interfejsu kada je svojstvo userInteractionEnabled postavljeno na false?

sobes.tech АИ

Одговор од АИ

Ako UIView ili njen podklas ima svojstvo userInteractionEnabled postavljeno na false, onda taj element i svi njegovi deca neće primati događaje interakcije (taps, gestovi itd.).

Međutim, ako želite da obradite događaje uprkos userInteractionEnabled = false, možete:

  • Prepisati metode obrade događaja u roditeljskom ili drugom kontroleru.
  • Koristiti gestove (UITapGestureRecognizer i druge) dodate roditeljskom pogledu koji ima userInteractionEnabled = true.
  • Kreirati providni sloj preko koji će presretati događaje.

Direktno na elementu sa userInteractionEnabled = false obrada događaja nije moguća, jer sistem ne prosleđuje događaje njemu.