我想长按手势打开弹出窗口。
我的应用程序具有UITableView,并且当用户长按UITableviewCell时会打开弹出窗口。
当用户手指保持足够长的时间时,只会显示弹出窗口。用户长按并松开手指时不可以。

我正在使用以下代码:
当我松开手指时,使用此代码会打开after pop,所以这是错误的。我想长按打开弹出窗口而不放开手指。

//Long press gesture
UILongPressGestureRecognizer *longPressGesture= [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(handleLongPress:)];
longPressGesture.minimumPressDuration = .4; //seconds
longPressGesture.delegate = self;
longPressGesture.delaysTouchesBegan = YES;
cell.titleLabel.userInteractionEnabled = YES;
[cell.titleLabel addGestureRecognizer:longPressGesture];

最佳答案

您可以执行以下操作:

 -(void) handleLongPress:(UILongPressGestureRecognizer *)sender
{
  if (sender.state == UIGestureRecognizerStateBegan)
  {
  //Start a timer and perform action after whatever time interval you want.
  }
  if (sender.state == UIGestureRecognizerStateEnded)
  {
  //Check the duration and if it is less than what you wanted, invalidate the timer.
  }
}

10-08 06:27