Domanda

Usando iPhone CALayer, voglio un'animazione di rotazione per il mio livello spirituale, ma voglio anche una richiamata per la fine dell'animazione, calda per farlo?

Penso che forse dovrei usare CABasicAnimation, ma non so come fare la rotazione usando CABasicAnimation, qualche idea?

Grazie

È stato utile?

Soluzione

Se si imposta un delegato per un CAAnimation, è possibile aggiungere il metodo di callback:

- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag

Viene chiamato quando l'animazione è completa. Cerca esempi di animazioni rotanti tramite una matrice di trasformazione CGAffineTransform, come da questo link:

http://iphonedevelopment.blogspot.com/2008/10/demystifying- cgaffinetransform.html

Altri suggerimenti

A parte, puoi anche fare lo stesso tipo di callback per un'animazione UIView avvolgendo la chiamata per ruotare una UIView nel seguente blocco di codice

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5f];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(rotationAnimationHasFinished:finished:context:)];
// Rotate the view here
[UIView commitAnimations];

e quindi la definizione di un metodo delegato

- (void)rotationAnimationHasFinished:(NSString *)animationID finished:(BOOL)finished context:(void *)context;
{
// Handle the completion of the animation
}

all'interno del tuo delegato che farà tutto il necessario dopo il completamento dell'animazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top