有沒有辦法停止(並啓動)UIScrollView的滾動中觸摸,而不放棄正在進行的觸摸事件?也就是說,仍然會觸發scrollViewDidScroll
,但不會與用戶的手指一起爲滾動視圖設置動畫。如何在不丟失觸摸事件的情況下凍結UIScrollView滾動
設置scrollEnabled
到false
會導致觸摸丟失。
This question本質上是我想要做的,但答案不(似乎)的工作。
有沒有辦法停止(並啓動)UIScrollView的滾動中觸摸,而不放棄正在進行的觸摸事件?也就是說,仍然會觸發scrollViewDidScroll
,但不會與用戶的手指一起爲滾動視圖設置動畫。如何在不丟失觸摸事件的情況下凍結UIScrollView滾動
設置scrollEnabled
到false
會導致觸摸丟失。
This question本質上是我想要做的,但答案不(似乎)的工作。
是的,您需要在視圖中使用UIGestureRecognizer。當你想截取滾動時,你可以將cancelsTouchesInView設置爲YES,否則將其設置爲NO。這可能會對您有所幫助:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIGestureRecognizer_Class/#//apple_ref/occ/instp/UIGestureRecognizer/cancelsTouchesInView。具體而言,您需要使用SwipeGestureRecognizer:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UISwipeGestureRecognizer_Class/index.html#//apple_ref/occ/cl/UISwipeGestureRecognizer
另一種選擇是在實際滾動視圖上放置隱形滾動視圖。在不可見的scrollview的'scrollViewDidScroll:'中,如果你想要真正的滾動,只需要'realScrollView.contentOffset = fakeScrollView.contentOffset;' –