Swift
// 长按手势
let longPressGesture = UILongPressGestureRecognizer(target: self, action: "<#methodName#>:");
// 长按多久触发
longPressGesture.minimumPressDuration = 0.25;
// 给谁添加手势
view .addGestureRecognizer(longPressGesture);
// MARK:
// MARK: 长按手势事件
/// 长按手势事件
@objc private func <#methodName#>(sender: UILongPressGestureRecognizer) {
switch sender.state {
// 手势开始了
case .Began:
burstTimer = NSTimer.scheduledTimerWithTimeInterval(0.2, target: self, selector: "<#otherMethodName#>", userInfo: nil, repeats: true);
print("开始");
// 手势结束了
case .Ended:
// 废除计时器
burstTimer?.invalidate();
print("结束");
break;
default:
break;
}
}
OC
// 长按手势
UILongPressGestureRecognizer *longPressGesture =
[[UILongPressGestureRecognizer alloc]
initWithTarget:self
action:@selector(<#methodName#>:)];
// 长按多久触发
longPressGesture.minimumPressDuration = 0.2;
// 给谁添加手势
[self.view addGestureRecognizer:longPressGesture];
- (void)<#methodName#>:(UILongPressGestureRecognizer *)sender {
switch (sender.state) {
// 手势开始了
case UIGestureRecognizerStateBegan:
// 计时器
_burstTimer = [NSTimer scheduledTimerWithTimeInterval:0.2
target:self
selector:@selector(<#otherMethodName#>)
userInfo:nil
repeats:true];
break;
// 手势结束了
case UIGestureRecognizerStateEnded:
// 废除计时器
[_burstTimer invalidate];
// 释放
_burstTimer = nil;
break;
default:
break;
}
}