1, UIPanGestureRecognizer* _panGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGestureRecognizer:)];
2, - (void)handlePanGestureRecognizer:(UIPanGestureRecognizer *)gesture{
UIGestureRecognizerState state = [gesture state];
CGPoint translation = [gesture translationInView:self];
UIView *gestureView= [gesture view];
//通过计算偏移量来设定draggableObj的新坐标 现在设置成只能左右滑动,
[gestureView setCenter:CGPointMake(gestureView.center.x + translation.x, gestureView.center.y)];
if (state == UIGestureRecognizerStateBegan) {
NSLog(@"开始");
}
else if (state == UIGestureRecognizerStateBegan || state == UIGestureRecognizerStateChanged) {
NSLog(@"滑动中");
CGPoint center = CGPointMake(self.contentView.center.x + translation.x, self.contentView.center.y);
[self.contentView setCenter:center];
//初始化sender中的坐标位置。如果不初始化,移动坐标会一直积累起来。
[gesture setTranslation:CGPointMake(0, 0) inView:gesture.view];
[self animateWithOffset:CGRectGetMinX(self.contentView.frame)];
}
else if (state == UIGestureRecognizerStateEnded || state == UIGestureRecognizerStateCancelled) {
NSLog(@"结束");
}
}