Ios 在UIButton上触发一个动作,触摸内部拖动外部,然后释放手指

Ios 在UIButton上触发一个动作,触摸内部拖动外部,然后释放手指,ios,objective-c,uibutton,sender,Ios,Objective C,Uibutton,Sender,我需要一个UIButton来执行一个特定的操作,当用户触摸按钮内部时,在不释放触摸的情况下拖动按钮外部,然后释放手指。如果他触碰按钮内部,然后拖出,没有抬起手指,又回到按钮中,然后松开手指,我不希望执行该操作(这实际上会成为内部触碰,这也不是我要寻找的发送者)。在指定的条件下,是否存在执行特定操作的发件人类型?我希望这个疑问已经足够清楚了。如果您对我的问题有疑问,请说明。是否UIControlEventTouchUpOutside不适合您 [myButton addTarget:self act

我需要一个UIButton来执行一个特定的操作,当用户触摸按钮内部时,在不释放触摸的情况下拖动按钮外部,然后释放手指。如果他触碰按钮内部,然后拖出,没有抬起手指,又回到按钮中,然后松开手指,我不希望执行该操作(这实际上会成为内部触碰,这也不是我要寻找的发送者)。在指定的条件下,是否存在执行特定操作的发件人类型?我希望这个疑问已经足够清楚了。如果您对我的问题有疑问,请说明。

是否
UIControlEventTouchUpOutside
不适合您

[myButton addTarget:self action:@selector(action) forControlEvents:UIControlEventTouchUpOutside];

你可以按下面的方法做

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

}

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
    UITouch *aTouch = [touches anyObject];
    CGPoint point = [aTouch locationInView:self.view];

}
这里您需要做的是将点(CGPoint)与按钮的区域进行比较,并相应地采取行动