2014-10-17 31 views
1

我有一個附加了UIPanGesture的UIButton。當用戶按下UIButton時,我將事件Touch Down稱爲事件。我也想知道用戶何時將其手指從按鈕上擡起,然後可能會將其拖到屏幕上。我嘗試過使用代表,如Touch Up InsideTouch Drag Exit,但這些在UIButton被拖動後似乎不起作用...當用戶停止觸摸UIButton時檢測到

+0

嘗試UIControlEventTouchCancel – Suen 2014-10-17 04:35:23

+0

@ user3705414不幸的是,每當用戶開始拖動時調用UIControlEventTouchCancel,我希望它在手指上的提升調用。 – Apollo 2014-10-17 14:52:58

回答

1

只有在平移手勢識別器開始時纔會觸發。如果用戶僅點擊按鈕,它將不會觸發。

-(void)setupGesture 
{ 
    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(handlePan:)]; 
    [self.yourButton addGestureRecognizer:pan]; 
} 


-(IBAction)handlePan:(UIPanGestureRecognizer *)sender 
{ 
    switch (sender.state) { 
     case UIGestureRecognizerStateEnded: 
      //Should fire when the user lifts finger 
      break; 
     default: 
      break; 
    } 
}