直接上坑
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
[self.zview setUserInteractionEnabled:YES];
[self.zview addGestureRecognizer:pan];
//请注意 pointSuperview 是相对父视图的偏移量 point是自己偏移量 这是关键
CGPoint pointLeftTop;
- (void)handlePan:(UIPanGestureRecognizer *)pan {
CGPoint pointSuperview=[pan locationInView:self.testView.superview];
CGPoint point = [pan translationInView:self.testView];
//如果想用自己的 [paramSender setTranslation:CGPointZero inView:paramSender.view];
NSLog(@"%f %f %f %f ",pointSuperview.x,pointSuperview.y,point.x,point.y);
if (pan.state==UIGestureRecognizerStateBegan) {
pointLeftTop=p;
}else if (pan.state==UIGestureRecognizerStateChanged) {
[self.zview setFrame:CGRectMake(self.testView.frame.origin.x+(p.x-pointLeftTop.x), self.testView.frame.origin.y, self.zview.frame.size.width, self.zview.frame.size.height)];
pointLeftTop=p;
}else if (pan.state==UIGestureRecognizerStateEnded) {
NSLog(@"end");
}