2017-12-22 5 views
-1

Ich habe eine App, wo ich ein paar Tasten innerhalb einer UIScrollview haben. Meine Ansicht Hierarchie ist wie folgt:UIButton innerhalb einer Scrollview ist nicht anklickbar

-- UIScrollview -- UIView (content view) -- UIView -- UIButton -- UIView -- UIButton -- UIView -- UIButton

Aber die UIButton ist nicht anklickbar. Ist es möglich, dass die Scrollview Klicks blockiert? Ich überprüfte nach:

  • für Unteransichten;
  • Benutzerinteraktion aktiviert = wahr (in allen Ansichten);
  • Scrollview Verzögerung Touchdown = false;
  • Scrollview kann auf scroll = false abbrechen
  • Der Inhalt zeigt Clips an Grenzen an. Alles außerhalb der Ansicht abschneiden.

aber ich konnte nichts finden. Gibt es ein Problem mit Schaltflächen und Scrollviews?

Thanks :)

+0

Stellen Sie sicher, dass sich die Schaltfläche vollständig innerhalb der Begrenzung der übergeordneten Ansicht befindet. – rmaddy

+0

Überprüfen Sie den UIView-Debugger auf Überlappungen usw. –

+1

Verwenden Sie den Debugger anzeigen. Oder färbe jede UIView in der Geschichte in einer anderen Farbe, damit du sie alle sehen kannst. Wie Sie bereits gesagt haben, ist der UIButton außerhalb der UIView, die ihn enthält, sichtbar, aber nicht anklickbar. Wenn in einer Ansicht in der Hierarchie "isUserInteractionEnabled" auf "false" gesetzt ist, kann die Schaltfläche nicht geclickt werden. – matt

Antwort

-1

Ist es möglich, dass der Scrollview Klicks blockiert?

Nicht von Natur aus, nein.

Gibt es ein Problem mit Schaltflächen und Scrollviews?

In einem Wort: nein. Offensichtlich funktionieren Tasten in den Bildlaufansichten immer gut. Sie verwenden sie wahrscheinlich jeden Tag in vielen Apps, die Sie verwenden.

Wenn Ihre Tasten in einer Scroll-Ansicht nicht abgreifbar sind, ist, dass wegen der etwas Sie falsch machen. Es ist nicht wegen irgendetwas in der Art von Schaltflächen und Bildlaufansichten.

0

Können Sie überprüfen, ob Sie eine UIView mit der UIButton überlappt haben. Und enableUserInteraction ist nicht erforderlich für UIViews, versuchen Sie es zu deaktivieren. Überprüfen Sie auch, ob Sie das rechte UIButton-Ereignis mit der Aktionsmethode verknüpft haben.

Verwandte Themen