У меня есть следующие настройки UIPanGestureRecognizer
:
- (void)pan:(UIPanGestureRecognizer *)gesture {
if ((gesture.state == UIGestureRecognizerStateChanged) ||
(gesture.state == UIGestureRecognizerStateEnded)) {
CGPoint translation = [gesture translationInView:self.superview];
gesture.view.center = CGPointMake(gesture.view.center.x + translation.x, gesture.view.center.y + translation.y);
[gesture setTranslation:CGPointZero inView:self.superview];
}
}
Я хочу перемещаться по представлению, перемещать одно место в другое в том же представлении. Что это делает, так это перемещение представления, как я могу изменить его, чтобы сделать то, что я хочу?
ОБНОВЛЕНИЕ: так мой метод закончил корректно перемещаться
- (void)pan:(UIPanGestureRecognizer *)gesture {
if ((gesture.state == UIGestureRecognizerStateChanged) ||
(gesture.state == UIGestureRecognizerStateEnded)) {
CGPoint translation = [gesture translationInView:self];;
self.origin = CGPointMake(self.origin.x + translation.x, self.origin.y + translation.y);
[gesture setTranslation:CGPointZero inView:self];
}
}
origin
- это, на мой взгляд, свойство, которое просто указывает, где будет находиться центр моего графика. В его методе установки есть setNeedsDisplay
для обновления при каждом изменении этого значения