2013-06-27 5 views
0

Je fais une boussole qui tourne tous les 5 degrés, mais le problème est lorsque l'utilisateur tourne l'appareil de plus de 5 degrés je reçois plusieurs réponses dans le même temps, et la méthode de rotation de l'appareil sera appelée plusieurs fois, avant le dernier finira, donc il ne donne pas un chemin lisse à la boussole. Comment puis-je faire pivoter la boussole après la fin du dernier?Comment faire pivoter une boussole une fois la dernière terminée?

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading 
{ 
    if (newHeading.headingAccuracy > 0) { 
     /* Rotate the compass to the selected degree */ 
     [UIView animateWithDuration:1.0f animations:^{ 
      [self.compassImageView rotateByDegree:degree clockWise:YES]; 
     }]; 
    } 
} 

Répondre

1
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading 
{ 
// [manager stopUpdatingHeading]; 

    double rotation = newHeading.magneticHeading * 3.14159/180; 

    [_compass_image setTransform:CGAffineTransformMakeRotation(-rotation)]; 

} 
+0

bro bienvenue,. ,,, –

Questions connexes