Übergeben Sie bestimmte Berührungen über UIScrollView an zugrunde liegende Ansichten

8

Ich habe eine Ansicht mit zwei Unteransichten:

  1. Unteransicht A, eine UIView (enthält andere Ansichten, die UIB-Schaltflächen, Ansichten mit Gestenerkennung enthalten)
  2. Subview B, ein UIScrollView (enthält einige Ansichten, hat aber transparente Bereiche).

Der Bildlauf befindet sich oben in Teilansicht A und hat die gesamte Breite / Höhe des Geräts. Ich möchte, dass der Benutzer in der Lage ist, durch die transparenten Bereiche mit all diesen Schaltflächen und Gestenreconizern unterhalb der Bildlaufansicht zu interagieren, während er immer noch scrollen kann (also ist die Weiterleitung des Hittests nicht möglich).

Scheint wie eine leicht genug Aufgabe, aber ich kann es nicht zur Arbeit bringen. Die Scrollansicht blockiert immer alle Berührungen.

Irgendeine Idee, wie ich das erreichen würde? Danke!

    
René 03.02.2014, 15:17
quelle

3 Antworten

2

Ich habe das jetzt etwas gelöst, indem ich die Ansicht, die als erste Unteransicht unter dem scrollview zum scrollview sein soll, hinzufüge und seine Position in scrollViewDidScroll:

verschiebe %Vor%

Das funktioniert, aber es ist wahrscheinlich nicht so elegant wie möglich.

    
René 05.02.2014, 11:33
quelle
10

Sie sollten die UIScrollView ableiten und die folgende Methode überschreiben:

%Vor%

Wenn diese Methode NEIN zurückgibt, ist die Bildlaufansicht für Berührungsereignisse "transparent".

Da die Scrollview nur für Touch-Ereignisse "transparent" sein soll, wenn sich die Berührung in einem transparenten Bereich Ihrer Scrollview befindet, sollte Ihre Implementierung wie folgt aussehen:

%Vor%     
tanzolone 03.02.2014 15:50
quelle
0

In Renés Antwort funktioniert das, wenn die Hintergrundansicht fest ist (z. B. oben in der Ansicht) und der untere Bildlauf abprallt.

%Vor%

Sie können damit auch einen schönen Paralax-Effekt erzeugen. Wenn Sie nicht möchten, dass er fixiert wird, sollten Sie den y-Wert auf Ihre gewünschte Übergangsbewegung ändern.

    
htafoya 08.06.2017 02:20
quelle

Tags und Links