Ich habe eine Ansicht mit zwei Unteransichten:
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!
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.
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%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.
Tags und Links objective-c ios uiscrollview