您的位置:首页 > 产品设计 > UI/UE

拖动手势

2016-09-20 15:04 134 查看
1.先定义一个拖动手势

UIPanGestureRecognizer *newNumberPan=[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];


其中,

initWithTarget:self是将手势处理的结果传给目标:self;

action:@selector(pan:)是为手势指定触发的函数。

------------------------------------------------------------------------------------------------------------------------------

2.写手势触发的函数

-(void)pan:(UIPanGestureRecognizer *)recognizer
{
}


在函数中写出你要干的事。其中,我用到了很多我需要用的方法:

我们要判断出当前手势的状态:

if (recognizer.state == UIGestureRecognizerStateChanged || recognizer.state == UIGestureRecognizerStateEnded)
{
}


然后得到一些需要的数据

CGPoint pingers=[recognizer locationInView:self.view];//得到手指的当前位置
CGPoint translation=[recognizer translationInView:self.view];//得到手指的位移


最后我们在进行完一些操作后,就要将手势状态初始化

[recognizer setTranslation:CGPointZero inView:self.view];


------------------------------------------------------------------------------------------------------------------------------

3.在把手势弄出来后,就应该用了。

newNumberPan.maximumNumberOfTouches=1;//设置最多只能一个手指拖动
[newNumber addGestureRecognizer:newNumberPan];//给某一个元素加上手势


如此这般,就能用了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  UIPanGestureRecogniz
相关文章推荐