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];//给某一个元素加上手势
如此这般,就能用了。