Sobes.tech
Junior — Middle

Ist es möglich, die Verarbeitung von Benutzereingaben in der Benutzeroberfläche zu implementieren, wenn die Eigenschaft userInteractionEnabled auf false gesetzt ist?

sobes.tech KI

Antwort von AI

Wenn eine UIView oder ihre Unterklasse die Eigenschaft userInteractionEnabled auf false gesetzt hat, empfängt dieses Element und alle seine Kind-Elemente keine Interaktionsereignisse (Taps, Gesten usw.).

Wenn Sie jedoch Ereignisse verarbeiten möchten, trotz userInteractionEnabled = false, können Sie:

  • Die Ereignisbehandlungs-Methoden im Eltern- oder einem anderen Controller überschreiben.
  • Gesten (UITapGestureRecognizer und andere) verwenden, die dem Eltern-View hinzugefügt wurden, das userInteractionEnabled = true hat.
  • Eine transparente Schicht darüber erstellen, die die Ereignisse abfängt.

Direkt auf dem Element mit userInteractionEnabled = false ist die Ereignisbehandlung nicht möglich, da das System die Ereignisse nicht an es weitergibt.