Horizontales Scrollen von UIScrollView mit vertikaler Schwenkbewegung

8

Ich versuche, ein UIScrollView zu implementieren, bei dem horizontales Panning durch Bilder im Scrollview scrollt, während das vertikale Panning eine andere Aktion ausführt, die ich habe. Im Moment habe ich eine UIScrollView, die mit vertikalem Scrollen deaktiviert ist, das funktioniert gut für das Scrollen durch Bilder, aber ich bin verrückt zu versuchen, eine Möglichkeit zu finden, vertikale Pfannen abzufangen und meine eigene Methode anstelle der vertikalen Pfannen einfach nur aufgefressen zu nennen der Bildlauf Ich konnte es tun

%Vor%

Das gibt mir die totale Kontrolle über das Panning in meiner HandlePanGesture: -Methode, aber das ist nicht besonders hilfreich, denn dann habe ich das Gefühl, dass ich im Grunde die gesamte Scroll-Logik umschreibe, die ich vermeiden möchte. Jede Hilfe oder Anleitung, wie dies zu erreichen wäre, würde sehr geschätzt werden.

Danke!

    
lramirez135 02.10.2012, 16:41
quelle

3 Antworten

4

Ich denke, das wird schwierig, wenn Sie eine Schwenkgeste verwenden wollen, weil die Bildlaufansicht diese Gesten verwendet. Wenn Sie jedoch einen Swipe verwenden können, ist es einfach zu implementieren.

%Vor%

Ich habe das getestet und es hat gut funktioniert, den Handler aufzurufen, und Sie müssen den Schwenkgestenerkennung der Bildlaufansicht nicht deaktivieren (in meinem Test war die Bildlaufansicht groß genug und der Inhalt kurz genug, dass es keine gab vertikales Scrollen - ich weiß nicht, ob das nötig ist oder nicht).

    
rdelmar 02.10.2012, 23:59
quelle
10

Ab iOS 5: UIScrollView macht seine UIPanGestureRecognizer verfügbar. Setzen Sie die% sw% delegate Ihrer benutzerdefinierten Swipe auf self und machen Sie die Eigenschaft "GestenRecognizer" zu einer Eigenschaft oder einem ivar und sorgen Sie dafür, dass Ihre Klasse dem Protokoll <UIGestureRecognizerDelegate> entspricht. Dann implementieren Sie UIGestureRecognizerDelegate s – gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: wie folgt:

%Vor%     
Zev Eisenberg 03.10.2012 00:23
quelle
9

Ich habe ein UIPanGestureRecognizer hinzugefügt und dann gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: so eingerichtet:

%Vor%

Ich habe auch einen Check in gestureRecognizerShouldBegin:

hinzugefügt %Vor%

Verwenden Sie self.panGesture nur beim Verschieben nach oben oder unten.

Aktualisieren

Ссылка scheint eine bessere Methode für gestureRecognizerShouldBegin

zu haben %Vor%     
richy 13.11.2013 05:21
quelle