Question

Je déplace des vues de ce code, il bouge bien mais parfois ils sont très naissants, aucune idée de cela?

[[[(UITapGestureRecognizer*)sender view] layer] removeAllAnimations];

[self.view bringSubviewToFront:[(UIPanGestureRecognizer*)sender view]];
CGPoint translatedPoint = [(UIPanGestureRecognizer*)sender translationInView:self.view];

if([(UIPanGestureRecognizer*)sender state] == UIGestureRecognizerStateBegan) {

    firstX = [[sender view] center].x;
    firstY = [[sender view] center].y;
}

translatedPoint = CGPointMake(firstX+translatedPoint.x, firstY+translatedPoint.y);

[[sender view] setCenter:translatedPoint];

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

    CGFloat finalX = translatedPoint.x + (.35*[(UIPanGestureRecognizer*)sender velocityInView:self.view].x);
    CGFloat finalY = translatedPoint.y + (.35*[(UIPanGestureRecognizer*)sender velocityInView:self.view].y);


[UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:.35];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
    [[sender view] setCenter:CGPointMake(finalX, finalY)];
    [UIView commitAnimations];

Était-ce utile?

La solution

Cela ne semble pas que rien dans votre code ci-dessus ralentirait le panoramique.Toute réponse lente sur l'interface utilisateur est de 99% du temps causé par la reconquête.Jetez un coup d'œil à votre code Drawrect (si vous l'avez implémenté) pour les vues que vous avez panoramique.Si cela est appelé chaque fois que vous PAN, cela peut vous causer des problèmes.Vous pouvez le résoudre en définissant la propriété Rasterize sur Oui à votre vue.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top