[英]why the "shouldReceiveTouch" returns "NO", the "PanGesture" still works?
[英]iOS UIGestureRecognizer shouldReceiveTouch - panGesture velocity is 0
我想知道平移手勢的速度,以確定手勢是向下滑動還是向上滑動。 如果滑動是向下的,則視圖不應該接收觸摸並且通過hitTest將觸摸返回到其超視圖,hitTest將處理觸摸事件,如果觸摸向上,則當前視圖應該處理觸摸事件。 但是,我無法在當前視圖(子視圖)內的shouldReceiveTouch方法內獲得觸摸的速度。
是因為在調用gestureRcognizerShouldBegin方法之前,實際上不會處理觸摸?
如果我的想法不起作用,還有其他方法可以實現我想要的嗎?
我認為這可能會幫助你實際想要的東西。 您需要做的是使用目標函數並使用Y值來獲取方向。
我剛剛分享了該線程如何幫助我們。你可以試試。
- (void)pan:(UIPanGestureRecognizer *)recognizer
{
if ((recognizer.state == UIGestureRecognizerStateChanged) ||
(recognizer.state == UIGestureRecognizerStateEnded))
{
CGPoint velocity = [recognizer velocityInView:self.view];
if (velocity.y >0) // panning down
{
//Do your thing
}
else // panning up
{
//Do your thing
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.