:)我正在攔截,並重新發送手勢發送到滾動視圖。模擬滾動視圖內的拖動
我想要做什麼:
殺死所有的滾動視圖gestureRecognizers。我已經完成了這個。
在滾動視圖中添加新的gestureRecognizers。我也完成了這一點。
使新識別器的行爲與舊識別器相同。我沒有完成這個,我需要幫助。
我添加的唯一新識別器是一個平移手勢識別器,它需要至少兩個手指。我希望它的行爲完全像單指滾動。 :)
響應由新識別器生成的回調來完成此操作時,必須發送什麼樣的調用?
:)我正在攔截,並重新發送手勢發送到滾動視圖。模擬滾動視圖內的拖動
我想要做什麼:
殺死所有的滾動視圖gestureRecognizers。我已經完成了這個。
在滾動視圖中添加新的gestureRecognizers。我也完成了這一點。
使新識別器的行爲與舊識別器相同。我沒有完成這個,我需要幫助。
我添加的唯一新識別器是一個平移手勢識別器,它需要至少兩個手指。我希望它的行爲完全像單指滾動。 :)
響應由新識別器生成的回調來完成此操作時,必須發送什麼樣的調用?
我認爲你試圖實現自己的自定義手勢識別器已經過於複雜。
UIPanGestureRecognizer類具有minimumNumberOfTouches屬性,您應該可以將其設置爲2,以適用於您的UIScrollView。
這樣做只是抓住你的觀點的手勢識別器...
myScrollView.gestureRecognizers;
迭代數組找到平移姿態結束了...
if ([gestureRecogniser isKindOfClass:[UIPanGestureRecognizer class]])
投下你gestureRecogniser指向更具體的類型...
UIPanGestureRecognizer *panGestureRecogniser = (UIPanGestureRecognizer *)gestureRecogniser;
最後設置其minimumNumberOfTouches屬性...
panGestureRecogniser.minimumNumberOfTouches = 2;
您可能必須做的唯一的其他事情是爲您的視圖啓用多點觸控 - UIView具有應設置爲true的multipleTouchEnabled屬性。
感謝您的解決方案:) –
在斯威夫特,你可以只寫
myScrollView.panGestureRecognizer.minimumNumberOfTouches = 2
你想要兩個手指滾動如在Mac OS X?並禁用所有其他接口,如單指滾動或縮放捏? – MHC
是的,但我完成了所有這些,所以不用擔心:) –