步骤:
1,首先创建长按手势(UILongPressGestureRecognizer)
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(pressGesture:)];
longPress.minimumPressDuration = 0.5;//设置响应时间
[self addGestureRecognizer:longPress];
2, 在长按手势的点击事件中有三个比较重要的状态:
UIGestureRecognizerStateBegan 开始长按时的状态
UIGestureRecognizerStateChanged 长按状态改变
UIGestureRecognizerStateEnded 长按结束状态
我们可以:
(1)长按开始时设置提示:手指上滑,取消发送,并监测音量大小,从而改变图片
(2)长按状态改变时监测位移变化
CGPoint point = [gesture locationInView:button];
获取手指所在位置,判断是否在按钮上部,如果在上部就提示:松开手指,取消发送
如果不在上部,就提示手指上滑动,取消发送(另外根据音量大小改变图片)
代码奉上