UIPagerView Scroll-Probleme mit UIScrollView

8

Ich habe ein UIPagerView mit seinen View Controllern. Jeder UIViewController hat ein horizontales UIScrollView (zum Beispiel mit 3 horizontalen Bildern). Sehen Sie sich das Bild als Referenz an.

Wenn ich auf dem Scrollview eine horizontale Swipe-Geste mache, scrollt der Scrollview und der Pagerview funktioniert nicht. Wenn ich in einer beliebigen Ansicht, die nicht die Bildlaufansicht ist, eine horizontale Wischgeste durchführe, scrollt die Pagerview ihre Kindansichts-Controller. Alles ist in Ordnung.

Was ich erreichen möchte ist: Wenn ich den Bildlauf auf den maximalen Wert (seine contentSize) scrolle, möchte ich, dass der Pagerview seine ViewController scrollt.

Bitte, wie kann ich das erreichen?

    
guilherme.minglini 04.08.2015, 20:51
quelle

1 Antwort

5

Um das zu erreichen, was Sie beschrieben haben, müssen Sie den PagerViewController als Delegierten Ihrer ScrollView festlegen.

Wenn Sie davon ausgehen, dass es sich bei Ihrem ScrollView um einen PageViewController handelt, machen Sie als Erstes einen PagerViewController als PageViewControllerDelegate

%Vor%

Dann setzen Sie den PagerViewController als Delegierten Ihrer ScrollView. Tun Sie dies in der viewDidLoad () Methode von PagerViewController

%Vor%

Implementieren Sie dann die Methode didFinishAnimating delegate in PagerViewController. Es wird aufgerufen, wenn Sie Ihren scrollView-Controller scrollen, und Sie können herausfinden, ob es sich um die letzte Seite handelt, die Sie gerade gescrollt haben, indem Sie den Index des letzten Controllers betrachten. Wenn dies der Fall ist, lösen Sie den Code aus, um den PagerViewController zu scrollen, um zur nächsten Ansicht zu blättern.

    
dorian 04.08.2015, 21:58
quelle