4 Stimmen

CAKeyframeAnimation - Beispiele

Ich habe ein Menü, das eine CALayer ist, die über den Bildschirm zu einem bestimmten Punkt gleiten wird. Ich möchte den Effekt, wo das Menü geht ein wenig hinter dem Punkt, dann ein wenig vor dem Punkt, und dann landen auf den Punkt. Ich kann das Menü verschieben, indem ich eine Transformation anwende, aber ich hatte gehofft, diesen Sprung-Effekt zum Funktionieren zu bringen. Ich habe mich mit CAKeyframeAnimation beschäftigt, aber ich habe Probleme, ein Beispiel/Tutorial zu finden. Ich habe im CA-Programmierhandbuch nachgeschaut, aber nicht wirklich etwas gefunden. Jeder Link oder jede Hilfe wäre großartig. Danke!

5voto

Nathan Eror Punkte 12388

I freigegeben einige Codes das genau das tut, wonach Sie suchen. Im Grunde müssen Sie Ihre eigenen CGPathRef mit allen Punkten, die die Ebene treffen soll, und verwenden Sie diesen Pfad für die path Attribut des CAKeyframeAnimation . Der Code wird etwa so aussehen:

CGPoint path[3] = {
    FTAnimationOutOfViewCenterPoint(enclosingView.bounds, view.frame, view.center, direction),
    [self overshootPointFor:view.center withDirection:direction threshold:(overshootThreshold_ * 1.15)],
    view.center
};

CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
CGMutablePathRef thePath = CGPathCreateMutable();
CGPathAddLines(thePath, NULL, path, 3);
animation.path = thePath;
CGPathRelease(thePath);

Die gesamte Methode ist aquí .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X