簡體   English   中英

在touchesMoved期間取消觸摸事件

[英]cancel touch event during touchesMoved

我需要在touchesMoved期間取消觸摸事件,以便底層uiviews可以接收事件。 見下面的評論:

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{

    for (UITouch *touch in touches)
    {

        if (touch.view == self.touchOverlay) {
            CGPoint touchLocation = [touch locationInView:touch.view];

            //perform checks on touch location and trip sensor if circumstances are met

            if (self.touchSensorTripped) {
                self.touchOverlay.userInteractionEnabled = NO;
                //NEED TO CANCEL THE TOUCH HERE SO THAT VIEWS UNDERNEATH CAN RECEIVE THE TOUCH EVENTS
            }

        }

    }
}

目前,基礎視圖在觸摸ENDS之前不會接收觸摸事件,這為時已晚。 我需要它們在禁用疊加視圖后立即開始接收touchesMoved事件,同時觸摸仍在移動。 我可以在上面的注釋中插入什么來執行此操作?

我剛剛用測試應用程序做了一些簡單的操作,發現調用[[self superview]touchesMoved:touches withEvent:event]; 似乎適用於簡單的視圖層次結構,如果這就是你所擁有的。 superview的touchesMoved在視圖觸及之前肯定被調用。 以這種方式過早地調用superviews touchesMoved並不會導致之后再次調用它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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