关于使用UIPanGestureRecognizer手势touchesBegan不调用的问题
最近使用UIPanGestureRecognizer手势时遇到一个问题,就是想获取起始的触摸点,但UIPanGestureRecognizer手势需要滑动一点距离时,才会触发,那样获取的起始点不太准确。然后就想到了
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
这个方法,但这个方法还是有个缺点,就是开始触摸时,需要稍微停顿一下才会触发,如果你轻扫的话,就不会调用,显然效果不太理想。
那我们可以继承UIPanGestureRecognizer,然后重写UIPanGestureRecognizer的
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
方法,然后调用父类的touchesBegan方法就可以了,代码片段如下:
#import "ImmediatePanGestureRecognizer.h"
#import <UIKit/UIGestureRecognizerSubclass.h>@implementation ImmediatePanGestureRecognizer- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {[super touchesBegan:touches withEvent:event];self.state = UIGestureRecognizerStateBegan;
}@end
你也可以从上面的重写方法中,直接得到point
UITouch *touch=[touches anyObject];CGPoint startPoint =[touch locationInView:touch.view];
参考自:
http://stackoverflow.com/questions/17621402/uipangesturerecognizer-do-something-immediately-when-touched
关于使用UIPanGestureRecognizer手势touchesBegan不调用的问题相关推荐
- ios pan手势滑动消失动画_IOS UIPanGestureRecognizer手势使用及识别状态UIGestureRecognizerState...
UIGestureRecognizerState -- 手势识别器状态 1.先来看官方文档 定义UIGestureRecognizer.h 英文: typedef NS_ENUM(NSInteger, ...
- iOS开发 UIPanGestureRecognizer手势抽象类
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@sel ...
- UISlider 延迟调用touchesBegan,延迟调用valueChangeHandle。delay?
今天遇到一个体验问题.播放器的UISlider的thumbImage在拖拽后不是立即响应,而是等了0.3或0.5或1秒后才响应.(如何扩大thumbImage的响应区域,可百度).如图所示: 虽然hi ...
- ios事件-触摸事件2(手势 和 pointInSide()、hitTest()、touchesBegan()、touchesMoved()、touchesEnded()的关系)
ios事件-触摸事件2(手势 和 pointInSide().hitTest().touchesBegan().touchesMoved().touchesEnded().touchesCancell ...
- UIGestureRecognizer手势介绍
UIGestureRecognizer是处理手势的一个抽象类,可以使用系统定义的手势或者自定义手势识别,是响应触摸事件的三大方式之一. UIGestureRecognizer常用子类 点击手势:UIT ...
- iOS 如何先由子视图处理子手势后再交由父类
项目中,要在UITableViewCell中处理touchesBegan的手势,又要处理TableView中处理委托方法 didSelectRowAtIndexPath, 如果在UITableView ...
- 【手势隔层透传】iOS viewA被viewB遮挡,如何让viewA依然响应添加的pan平移手势
目录 实践 参考 系统响应阶段 APP响应触摸事件 触摸 事件 响应者 触摸 触摸事件 响应者 寻找最佳响应者(Hit-Testing) 视图如何判断自己能否响应触摸事件? 寻找最佳响应者的原理 hi ...
- 【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件
博客地址 : http://blog.csdn.net/shulianghan/article/details/41520569 代码下载 : -- GitHub : https://github.c ...
- SwiftUI 手势操作
基本概念 在ios中我们经常用到的手势操作有点击,长按,拖拽,缩放,旋转.在手势操作时,不同的手势有不同的触发函数,比如,点击在点击完成时触发某个函数,拖拽手势不仅仅在拖拽完成时触发函数,而在拖拽的过 ...
最新文章
- linux bash输入输出重定向
- 管理的最高境界:残缺中的和谐
- 雷林鹏分享:PHP 5 Directory 函数
- 深入理解WMS(二):Dialog与Toast源码解析
- ZooKeeper Watch Java API浅析getChildren
- JavaScript为什么使用原型模式而不是类模式
- 第11届 蓝桥杯-第1、2次模拟(软件类)真题-(2020年3月、4月)-官方讲解视频
- oracle 启用闪回数据库,如何启用Oracle10g闪回数据库特性
- mini2440-Openwrt启动信息
- less入门及基础学习(建议有css基础)
- mysql数据库内存分配_MySQL OOM 系列一 Linux内存分配
- Code Signal_练习题_evenDigitsOnly
- Raspbian 2019-06-20 发布
- web前端期末大作业 HTML+CSS+JavaScript仿安踏
- C语言基础 入门学习(一)
- arm9有多少个寄存器
- Process finished with exit code -1073740791 (0xC0000409) 一种解决方案
- 创建内嵌SIS文件的安装包
- BlueTooth: 蓝牙基带数据传输机理分析
- MFC CListCtrl修改表头字体、字体颜色、背景颜色、字体垂直居中、表头高度