首页 > 代码库 > 用Swift GestureRecognizer 的几个注意点

用Swift GestureRecognizer 的几个注意点

最近做了一些关于 GestureRecognizer 的工作 ,随笔记录一些需要注意的点:

 

1. PanGestureRecognizer  

(1)在使用时 注意在哪个view添加了 手势识别 

self.view.addGestureRecognizer(panRecognizer)

不然会出现一些 不必要的识别操作和响应

 

(2)如果想 把手势控制做成 slider : 

 注意点:

I.  state :这里是自带的state有三个 began , changed , ended 

  在began的时候存入 起始点的数据 ,这个点需要是个全局变量,如果是在began方法里设置了变量, 其他两个state的方法是取不到的。(

startPanLocation = sender.locationInView(self.newEffectView)

  当changed的时候就存入变更点的数据 (

let changeLocation = sender.locationInView(self.newEffectView)

  当然ended的时候 也可以存入你需要的其他信息

II.  变量转换问题 CGFloat, 如果想变成其他的数字类型, 先转成Float类型 在进行转换 不然得到的效果一般情况下 和你想要的不一样

III. 要设定 endPoint - startPoint > 一个数据 ,不然识别度太高 会跟button的点按有效冲突

2. swipeGesture 

(1)right 和 left , 如果不声明 默认是向右的 

(2)swipeGesture 没有可以state 所以不能做成slider

 

用Swift GestureRecognizer 的几个注意点