处理长按结束
我有一个UILongPressGestureRecognizer
附加到控制器的view
。 我想冻结一些计时器,直到用户握住他的手指。 问题是我无法确定触摸事件何时结束。 也许我应该在手势识别器的属性state
上使用观察者? 或者还有其他方法可以做到这一点?
简要
在控制器的view
中放置UIScrollView
(实现分页库),可以通过拖动(滑动)切换页面。 还有一个UITapGestureRecognizer
,也附加到控制器的view
,它处理一些其他任务。
是的,您可以通过查看识别器的状态来完成此操作,但您不需要使用观察者。 您应该在识别器触发时在手势识别器的委托中声明一个操作方法。 只要识别器的状态发生变化,就会自动调用该方法。
您需要查找状态UIGestureRecognizerStateBegan以开始计时器,并且您需要查找状态UIGestureRecognizerStateEnded,UIGestureRecognizerStateFailed和UIGestureRecognizerStateCancelled以暂停计时器。
只需将您的手势与Interface Builder中的操作相关联即可。
-(IBAction)longPressBegan:(UILongPressGestureRecognizer *)recognizer { if (recognizer.state == UIGestureRecognizerStateBegan) { // Long press detected, start the timer } else { if (recognizer.state == UIGestureRecognizerStateCancelled || recognizer.state == UIGestureRecognizerStateFailed || recognizer.state == UIGestureRecognizerStateEnded) { // Long press ended, stop the timer } } }
- iBeacon:didEnterRegion和didDetermineState(CLRegionStateInside)之间有什么区别
- 处理SFSafariViewController中的popup窗口/选项卡
- 保存UIWebView在本地显示的PDF
- 我如何精确地从iOS写出一个CSV文件在Swift写?
- AdMob插页式广告错误“请求错误:无广告显示”
- 找不到cap_ios.h
- iOS 8自动单元格高度 – didSelectRowAtIndexPath导致UItableview跳转到顶部
- 在Interface Builder中,UIButton的动态类型“自动调整字体”设置等效?
- 自定义字体不能在Xcode中工作