2012-11-22 13 views
10

Während Kreisdiagramm mit Kernstück der Entwicklung I Animation für gegebenen Code für das hinzugefügtWie man diesen Grad zum Radiantenfehler vermeidet?

CABasicAnimation *rotation = [CABasicAnimation animationWithKeyPath:@"transform"]; 
    CATransform3D transform = CATransform3DMakeRotation(DegreesToRadians(360), 0, 0, 1); 
    rotation.toValue = [NSValue valueWithCATransform3D:transform]; 
    rotation.duration = 10.0f; 
    [pieChart addAnimation:rotation forKey:@"rotation"];  

Dieser Code gibt folgende Fehler Semantic Ausgabe:

Implicit declaration of function 'DegreesToRadians' is invalid in C99 

Was kann ich für vermeiden tun?

Und es gibt auch Laufzeitfehler folgende:

Apple_o Linker id error "_DegreesToRadians", referenced from: 

Danke und Grüße

Vijayakumar

iOS Developer bei Rhytha

https://rhytha.com/

Antwort

22

einfach ein Makro wie definieren:

#define DEGREES_RADIANS(angle) ((angle)/180.0 * M_PI) 

und ändern Sie Ihre Verfahren wie:

CATransform3D transform = CATransform3DMakeRotation(DEGREES_RADIANS(360), 0, 0, 1); 
+0

Vielen Dank u sehr viel @MidhunMp – Vijay

+0

@VijayakumarNL: mit Vergnügen :) –

0
#define RADIANS_TO_DEGREES(radians) ((radians) * (180.0/M_PI)) 

schreiben diesen Code an der Spitze der von .m-Datei, in der Sie mich

wissen lassen, konvertieren wollen, ob es funktioniert oder nicht

0

Für einfache Winkel, benutzen Sie einfach Radiant:

Transform3D transform = CATransform3DMakeRotation(2 * M_PI, 0, 0, 1); 

Eine kurze Liste der typischen Winkel:

Degrees | Code 
--------+--------- 
360  | 2 * M_PI 
180  | M_PI 
90  | M_PI_2 
45  | M_PI_4 
Verwandte Themen