UIView исчезает после жеста панорамирования - PullRequest
0 голосов
/ 26 декабря 2010

Я использую следующий обработчик для IUPanGesture.Однако когда кастрюля заканчивается, UIView, который она перемещает, исчезает.Нужно ли что-нибудь еще добавить к этому коду?

- (void)pan:(UIPanGestureRecognizer *)gesture
{
  if ((gesture.state == UIGestureRecognizerStateChanged) ||
  (gesture.state == UIGestureRecognizerStateEnded)) {

  CGPoint location = [gesture locationInView:[self superview]];

  [self setCenter:location];
  }
}

1 Ответ

1 голос
/ 26 декабря 2010

Я не знаю, документировано ли это где-либо, но я обнаружил эмпирически, что любые состояния жестов, отличные от UIGestureRecognizerStateBegan, UIGestureRecognizerStateChanged и UIGestureRecognizerStateRecognized, будут содержать информацию касания мусора и местоположение. Во многих случаях код даже зависал при попытке получить доступ к несуществующему прикосновению.

Таким образом, изменение условия следующим образом должно устранить возникшую проблему:

- (void)pan:(UIPanGestureRecognizer *)gesture
{
  if (gesture.state == UIGestureRecognizerStateChanged) {
    CGPoint location = [gesture locationInView:[self superview]];
    [self setCenter:location];
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...