为什么不使用手势识别器?
这是一个更简单的实现。
只需将 UIPanGestureRecognizer 添加到 AddView:
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(move:)];
[panRecognizer setMinimumNumberOfTouches:1];
[panRecognizer setMaximumNumberOfTouches:1];
[panRecognizer setDelegate:self];
[AddView addGestureRecognizer:panRecognizer];
然后处理移动:
-(void)move:(UIPanGestureRecognizer*)recognizer {
CGPoint translatedPoint = [recognizer translationInView:self.view];
if([(UIPanGestureRecognizer*) recognizer state] == UIGestureRecognizerStateBegan) {
_firstY = recognizer.view.center.y;
}
translatedPoint = CGPointMake(recognizer.view.center.x, _firstY+translatedPoint.y);
[recognizer.view setCenter:translatedPoint];
}