簡體   English   中英

iOS UIGestureRecognizer shouldReceiveTouch - panGesture的速度為0

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM