如何判断UIPanGestureRecognizer的拖动方向
最近做一个项目,需要用到UIPanGestureRecognizer做一个侧滑菜单,需求是不能向右侧拖动(点击按钮右滑),但可以向左侧手势拖动收回;于是需要判断拖动的方向,百度了一下,网上大部分的答案是这样判断的:
CGPoint translation = [recognizer translationInView:recognizer.view];
if(translation.x>0)
{
//向右滑动
}
else
{
//向左滑动
}
不过,在实际开发中,我发现不论是向左拖动或者是向右拖动,translation.x始终大于0,于是看了一下translationInView:的官方解释是获取手势在相对指定视图的移动距离,即在X,Y轴上移动的像素,应该是没有正负的,于是考虑用velocityInView:这个方法,这个方法是获取手势在指定视图坐标系统的移动速度,结果发现这个速度是具有方向的,
CGPoint velocity = [recognizer velocityInView:recognizer.view];
if(velocity.x>0)
{
//向右滑动
}
else
{
//向左滑动
}
于是乎,问题解决。
如何判断UIPanGestureRecognizer的拖动方向的更多相关文章
- 判断scrollView的滑动方向(二)
在上一篇文章<判断scrollView的滑动方向>中谈到的第二种方法是根据滑动速率来判断的. 今天将通过滑动过程中的坐标差来判断 - (void)scrollViewDidScroll:( ...
- JS判断鼠标进入容器方向的方法和分析window.open新窗口被拦截的问题
1.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢?首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种 ...
- JS判断鼠标从什么方向进入一个容器
偶然将想到的一个如何判断鼠标从哪个方向进入一个容器的问题.首先想到的是给容器的四个边添加几个块,然后看鼠标进入的时候哪个块先监听到鼠标事件.不过这样麻烦太多了.google了一下找到了一个不错的解决方 ...
- js 判断滚动条的滚动方向
以下代码实现判断页面的滚动条的滚动方向: var sign = 80;//定义默认的向上滚与向下滚的边界 window.onscroll = window.onresize = function(){ ...
- jQuery -- touch事件之滑动判断(左右上下方向)
$("body").on("touchstart", function(e) { // 判断默认行为是否可以被禁用 if (e.cancelable) { // ...
- [UE4]判断UI动画播放方向
使用一个变量来记录播放的方向.
- 判断viewpager左右滑动方向
实现思路就是通过viewpager的滑动监听,用参数position进行比较,同时当判断完这个要把比较的positon覆盖.这里简单介绍一下public void onPageScrolled(int ...
- iOS 百度地图判断用户是否拖动地图的检测方法
前言:百度地图API并没有提供移动地图时的回调接口 实现:通过判断当前地图的中心位置是否为用户位置来判断,代码如下 -(void)mapView:(BMKMapView *)mapView regio ...
- vue+echarts实现可拖动节点的折现图(支持拖动方向和上下限的设置)
本篇文档主要是利用echarts实现可拖动节点的折现图,在echarts中找到了一个demo,传送门:https://echarts.baidu.com/examples/editor.html?c= ...
随机推荐
- 初学c# -- 学习笔记(一)
初学c# -- 学习笔记(一) 学习C#了,参考许多资料,一步步学习.这一段学习ajax的工作原理,参照其他例子写了web版的群聊小程序,全部文件代码也就不到300行,很简单.使用时先输入用户名,点确 ...
- MySQL 安装和启动服务,“本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。”
MySQL 安装和启动服务,以及遇到的问题 MySQL版本: mysql-5.7.13-winx64.zip (免安装,解压放到程序文件夹即可,比如 C:\Program Files\mysql-5. ...
- I/O流——其他流
其他流 一.ObjectInputStream/ObjectOutputStream ① ObjectInputStream和ObjectOutputStream分别与FileInputStream和 ...
- Bimmap 成像用bitblt 缩放问题
BitBlt不能变尺寸,但是StrectchBlt可以变尺寸,在使用StrectchBlt时要注意,首先要设置一下SetStretchBltMode,通常设成HALFTONE,这样缩放时就不会失真. ...
- deeplab hole algorithm
最近看了几篇文章,其中均用到了hole algorithm. 最早用的就是deeplab的文章了,Semantic Image Segmentation with Deep Convolutional ...
- 交易B(队列)
临近考试,又把之前的上机的题目看了一遍,自己又尝试着敲代码,发现好多之前的代码现在看来都被自己复杂化了许多,于是把现在重写的代码再贴出来. 之前的题目和代码戳这里 #include<queue& ...
- mac 端口转发方案
mac 端口映射 好坑 osx10.10mac移除了ipfw改用pfpf以前没用过 查文档mac的 pf语法,没有找到.bsd的倒是很全,心喜拿来一试.http://www.openbsd.org/f ...
- 用VLC Media Player搭建简单的流媒体服务器
VLC可以作为播放器使用,也可以搭建服务器. 在经历了Helix Server和Darwin Streaming Server+Perl的失败之后,终于找到了一个搭建流媒体简单好用的方法. 这个网址中 ...
- 升级到VS2012,reportViewer无法使用
最近公司的开发环境升级到VS2012,为了电脑能够快点,我重装系统,只装VS2012没有装VS2010.这个时候问题来了,原本用VS2010开发的项目用VS2012编译能通过,运行时包下图错: 为了解 ...
- 缺省servlet的使用
假如URL地址为http://xxx/xxx/1.html,那么1.html这个静态页面是怎么显示到页面上的呢? 原因:在服务器配置文件conf/web.xml文件中,含有一个缺省的servlet配置 ...