проверить, выпущено ли пинч в UIPinchGestureRecognizer - PullRequest
1 голос
/ 13 января 2012

Как проверить, было ли снято повышение? Я пытался

- (IBAction)resizeImage:(UIPinchGestureRecognizer *)sender
{
   if (sender.delaysTouchesEnded)
   //here
}

и это не сработало

Ответы [ 2 ]

7 голосов
/ 13 января 2012

Вам нужно проверить на sender.state == UIGestureRecognizerStateEnded и, возможно, sender.state == UIGestureRecognizerStateCancelled

2 голосов
/ 22 марта 2013

Ответ UIAdam работал на меня ...

    if([(UIPinchGestureRecognizer *)sender state] == UIGestureRecognizerStateEnded)
    {

    }

Это мой полный метод с увеличением (CGAffineTransformScale)

(self.pictureCard01 - это подкласс UIView, который я зажимаю)

   - (IBAction)PinchGesture01:(UIGestureRecognizer *)sender {
                CGFloat factor = [(UIPinchGestureRecognizer *)sender scale];
                if (factor > 2) {
                    factor = 2;
                }
                else if (factor < 1) {
                    factor = 1;
                }

                [UIView animateWithDuration:2 delay:0.0 options:UIViewAnimationOptionAllowAnimatedContent
                animations:^{
                    self.pictureCard01.transform = CGAffineTransformScale(CGAffineTransformIdentity, factor, factor);
                }
                completion:nil];

                if([(UIPinchGestureRecognizer *)sender state] == UIGestureRecognizerStateEnded)
                {
                    [self performSelector:@selector(resize:) withObject:self.pictureCard01 afterDelay:2];
                }
            }

      -(void)resize:(UIView*)myview{

                    [UIView animateWithDuration:2 delay:0.0 options:UIViewAnimationOptionAllowAnimatedContent
                                     animations:^{
                                         myview.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1, 1);
                                     }
                                     completion:nil];
                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...