Ios 带有移动到UIView之外的触摸的UIGestureRecognitor

Ios 带有移动到UIView之外的触摸的UIGestureRecognitor,ios,objective-c,uigesturerecognizer,Ios,Objective C,Uigesturerecognizer,我有一个ui长按手势识别器,最小按长为0秒。在UIgestureRecognitizerStateStart上,我更改UIView。在UIgestureRecognitizerStateEnded上,我运行了媒体应该执行的操作的代码 -(IBAction)longPressDetected:(UILongPressGestureRecognizer *)recognizer { static NSTimer *timer = nil; if (recognizer.st

我有一个
ui长按手势识别器
,最小按长为0秒。在
UIgestureRecognitizerStateStart
上,我更改UIView。在
UIgestureRecognitizerStateEnded
上,我运行了媒体应该执行的操作的代码

-(IBAction)longPressDetected:(UILongPressGestureRecognizer *)recognizer {    
    static NSTimer *timer = nil;

    if (recognizer.state == UIGestureRecognizerStateBegan) {
        // alter look of UIView
    }
    else if (recognizer.state == UIGestureRecognizerStateEnded) {
        // do something
        // change look back to original state
    }
}
我遇到了一个问题,如果触摸在
UIView
上启动,并且如果触摸被拖到
UIView
之外并被提起,则
uigestureRecognitizerStateEnded
仍会触发

我需要能够在
ui视图
内处理触摸,用户将其拖动到
ui视图
外并取消触摸

我知道一个
ui按钮可以做到这一点,但它不能满足我的所有需求


如果触摸被拖动到
ui视图
之外,如何取消触摸?

添加触摸位置检查。这种方法可以是七倍的

-(CGPoint)位置视图:(UIView*)视图