2016-04-20 6 views
0

Gibt es eine Möglichkeit, die Scroll-Mitte-Berührung eines UIScrollView zu stoppen (und zu starten), ohne das laufende Touch-Ereignis aufzugeben? Das heißt, dass Sie immer noch scrollViewDidScroll auslösen, aber die Scrollansicht nicht zusammen mit dem Finger des Benutzers animieren.So frieren Sie das UIScrollView-Scrollen ein, ohne das Touch-Ereignis zu verlieren

Einstellung scrollEnabled bis false bewirkt, dass die Berührung verloren geht.

This question ist im Wesentlichen, was ich versuche zu tun, aber die Antwort funktioniert nicht (scheint).

+0

Eine andere Option besteht darin, eine unsichtbare scrollview über Ihre echte Bildlaufansicht zu legen. Wenn scrollViewDidScroll: scrollViewDidScroll: in der unsichtbaren scrollview: Wenn Sie die echte scrollen möchten, tun Sie einfach 'realScrollView.contentOffset = fakeScrollView.contentOffset;' –

Antwort

0

Ja, Sie müssen einen UIGestureRecognizer für Ihre Ansicht verwenden. Wenn Sie den Bildlauf abfangen möchten, setzen Sie cancelsTouchesInView auf YES, andernfalls auf NO. Dies könnte für Sie hilfreich sein: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIGestureRecognizer_Class/#//apple_ref/occ/instp/UIGestureRecognizer/cancelsTouchesInView. Insbesondere möchten Sie den SwipeGestureRecognizer: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISwipeGestureRecognizer_Class/index.html#//apple_ref/occ/cl/UISwipeGestureRecognizer