1,UISwipeGestureRecognizer:滑动(快速移动)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
class
ViewController
:
UIViewController
{
override
func
viewDidLoad() {
super
.viewDidLoad()
let
swipe =
UISwipeGestureRecognizer
(target:
self
,action:
Selector
(
"swipe:"
))
swipe.direction =
UISwipeGestureRecognizerDirection
.
Up
.view.addGestureRecognizer(swipe)
}
swipe(recognizer:
){
print
"swipe ok"
)
var
point=recognizer.locationInView(
.view)
//这个点是滑动的起点
(point.x)
(point.y)
}
}
|
//表示监听滑动的方向为向上
Up
|
注意2:有网友问如果各个方向都要响应怎么办,只要多定义几个UISwipeGestureRecognizer就可以了
swipeUp =
swipeUp.direction =
.view.addGestureRecognizer(swipeUp)
swipeDown =
))
swipeDown.direction =
Down
.view.addGestureRecognizer(swipeDown)
}
){
if
recognizer.direction ==
Up
{
"向上滑动"
)
}
else
Down
{
"向下滑动"
)
}
.view)
//这个点是滑动的起点
(point.x)
(point.y)
}
}
|
2,UITapGestureRecognizer:轻点手势(点击)
(1)可以通过numberOftouchesrequired属性设置触摸点数,比如设置2表示必须两个手指触摸时才会触发
(2)通过numberOfTapsrequired属性设置点击次数,单击设置为1,双击设置为2
(3)如果一个控件既监听了单击事件也监听了双击事件,默认当双击事件触发的时候也同时会触发单击事件。如果想双击时不触发单击,需要通过requireGestureRecognizerToFail进行设置
//单击监听
tapSingle=
UITapGestureRecognizer
ottom:auto!important; float:none!important; height:auto!important; left:auto!important; line-height:1.5em!important; margin:0px!important; overflow:visible!important; padding:1px 0px!important; position:static!important; right:auto!important; top:auto!important; vertical-align:baseline!important; width:auto!important; font-family:Consolas,action:
"tapSingleDid"
)
tapSingle.numberOfTapsrequired=1
//双击监听
tapDouble=
"tapDoubleDid:"
)
tapDouble.numberOfTapsrequired=2
//声明点击事件需要双击事件检测失败后才会执行
tapSingle.requireGestureRecognizerToFail(tapDouble);
.view.addGestureRecognizer(tapSingle)
.view.addGestureRecognizer(tapDouble)
}
tapSingleDid(){
"单击了"
)
}
tapDoubleDid(sender:
){
sender.view ==
.view{
"双击了"
)
}
}
|