Sono bloccato da un compito molto semplice, voglio che un'animazione UIView si allenti facilmente, ma è sempre lineare nonostante si usi l'opzione animationOption corretta.Curva di animazione UIView non funzionante easinout
Ecco il codice che dovrebbe funzionare per tutti gli account, è impostato in una classe UIViewControllerAnimatedTransitioning ma ho lo stesso problema in una precedente classe personalizzata successiva;
[UIView animateWithDuration:0.4f delay:0.0f options:UIViewAnimationOptionCurveEaseInOut animations:^(void) {
self.dimView.alpha = 1.0;
self.imageView.frame = self.destinationRect;
} completion:^(BOOL finished) {
[self.imageView removeFromSuperview];
[self.dimView removeFromSuperview];
[transitionContext completeTransition:YES];
}];
Tuttavia, un'animazione primavera con il seguente codice funziona anche se io preferisco non farlo.
[UIView animateWithDuration:0.8f delay:0 usingSpringWithDamping:0.7f initialSpringVelocity:2.0f options:UIViewAnimationOptionCurveEaseInOut animations:^(void) {
self.dimView.alpha = 1.0;
self.imageView.frame = self.destinationRect;
} completion:^(BOOL finished){
[self.imageView removeFromSuperview];
[self.dimView removeFromSuperview];
[transitionContext completeTransition:YES];
}];
sto ottenendo lo stesso comportamento sul simulatore e su un dispositivo di test iPad2. Sto facendo qualcosa di sbagliato? Ci sono problemi con l'animazione dei valori frame o alpha?
Grazie ssantos. All'inizio ho pensato che fosse il trucco ma i miei occhi mi prendevano in giro. Ancora decisamente lineare. Molto strano e fastidioso. –
Mmmh davvero strano, può la distanza essere troppo piccola per notare la differenza? Proverei un'animazione 'grande' con diversi 'animationCurves' per ogni evenienza. – ssantos