Umgang mit Berührungen für verschachtelte UIScrollViews scrollen in die gleiche Richtung

Ich habe zwei verschachtelte UIScrollViews, sowohl das scrollen in der vertikalen Richtung. Ich brauche die äußeren scrollview, um zu Blättern, um es in den max-Bereich den ersten, bevor das innere scrollview, um zu scrollen. Die innere scrollview sollte nicht Scrollbar, bis der äußere scrollview hat, erreicht es die max-Bereich. Hier ist eine illustration:
Umgang mit Berührungen für verschachtelte UIScrollViews scrollen in die gleiche Richtung

Im linken Diagramm eine vertikale ziehen Sie innerhalb von Scrollview B bewegen sollte Scrollview A und Scrollview B sollte nicht Scrollbar (aber es muss noch in der Lage sein zu erhalten, berührt/Hähne). Einmal Scrollview A erreicht es ist maximale Strecke (wenn Scrollview B bekommt, um die oben auf dem Bildschirm), dann Scrollview B scrollen soll. Diese arbeiten muss in einer kontinuierlichen Bewegung.

Habe ich versucht zu wechseln ScrollView B's scrollEnabled aus ScrollView A's scrollViewDidScroll: delegate-Methode, aber das scheint keine praktikable Lösung, weil es nicht Arbeit in eine kontinuierliche Bewegung (zB: Der Benutzer muss loslassen und wieder Anfassen, nachdem Scrollview B erreicht den oberen Rand des Bildschirms).

Was ist der beste Weg, um dies zu implementieren, so dass Werke in einer kontinuierlichen Bewegung?

  • Konnte Sie ein transparent, Geschwister-anzeigen auf der Oberseite des scrollViews und verwenden Sie es zum abfangen von gesten. Dann leiten Sie Sie zu einer scrollView oder der anderen, je nachdem, wie weit Sie haben jeweils gescrollt werden. Oder -- eine komplett andere Idee: ich Wette, es gibt einige Möglichkeit, es zu tun mit klugen autolayout-constraints...
  • Der schwierige Teil über die overlay-Strategie ist, dass Scrollview B noch braucht, um zu akzeptieren berührt (zB: auf eine Schaltfläche zu Tippen). Also nur die Weiterleitung alle berührt, je nach der scrollview position nicht funktionieren würde.
  • Eine andere Idee: Sie können verhindern, dass ein scrollView Bildlauf durch die Einstellung seiner contentOffset auf einen Konstanten Wert im layoutSubviews. Sie könnten, zu stoppen B von scrollen, bis es an der richtigen position mit Bezug auf A., die nicht den Delegaten problem-Sie brauchen nicht zu warten, für den Bildlauf zu beenden, bevor Sie die contentOffset.
  • machen Sie endlich die Lösung für dieses problem
  • wird keine Lösung gefunden?? :<
  • Hast du irgendeine Lösung für dieses problem ?

Schreibe einen Kommentar