2012-03-29 7 views
0

In meiner iOS-App habe ich einen Bildschirm mit einer Reihe von Symbolen, die einen Wackeleffekt haben. Wenn ich eine von ihnen drücke und halte, fangen sie an zu zittern (wie das iPhone-Menü), aber wenn ich die Home-Taste drücke (um meine App zum Hintergrund zu schicken), friert der Iphone ein! Nach einiger Zeit startet es sich neu. Dies ist die Quelle Ich verwende den Effekt zu tun:Wackeln (Shake) -Effekt in meiner App friert das iPhone ein (iOS 5)

CABasicAnimation* anim = [CABasicAnimation animationWithKeyPath:@"transform.rotation"]; 
[anim setToValue:[NSNumber numberWithFloat:0.0f]]; 
[anim setFromValue:[NSNumber numberWithDouble:M_PI/30]]; 
[anim setDuration:0.1]; 
[anim setRepeatCount:NSUIntegerMax]; 
[anim setAutoreverses:YES]; 
[self.layer addAnimation:anim forKey:@"SpringboardShake"]; 

Und zu stoppen:

[self.layer removeAllAnimations]; 

Dieses Problem tritt nur in iOS 5. Der gleiche Code funktioniert in iOS 4. Irgendwelche Ideen was würde mein Gerät zum Einfrieren bringen?

Antwort

1

Das gleiche Problem trat bei mir auf. Eine Lösung kann here gefunden werden.

Um eine reibungslose Animation zu erhalten, müssen Sie Ihre Berechnungsgeschwindigkeit erhöhen. Eine Form verringert also die Dinge, die wir berechnen müssen.