Sto animando un CALayer utilizzando CABasicAnimation e mi aspetto che il livello rimanga in posizione al termine dell'animazione. Quasi tutte le soluzioni mostrano la seguente, che funziona beneModo corretto per prevenire la scomparsa del livello in CABasicAnimation?
animation.removedOnCompletion = NO;
animation.fillMode = kCAFillModeForwards;
Tuttavia, il WWDC altoparlante nel Core Animation in Pratica Parte 1 2010 (~ 38-41mins) dice che la maggior parte delle soluzioni per lo strato di scomparsa trovato sono " falsa" e il modo corretto per animare un livello è approssimativamente le seguenti
animation.fromValue = [NSNumber numberWithFloat:layer.position.y];
layer.position = CGPointMake(layer.position.y, endPoint);
animation.toValue = [NSNumber numberWithFloat:endPoint];
il motivo è che la soluzione removedOnCompletion/FillMode blocca solo il livello di presentazione, e lo strato attuale ha ancora il suo set posizione originale.
Per favore correggimi se ho mal interpretato l'oratore.
Se l'ho capito correttamente, quando importa?
Grazie, Steve
Grazie per la risposta - scusate il mio era un po 'lento. Forse non ho mai incontrato la necessità di fare qualcosa di più con il livello di presentazione o il livello attuale ed è per questo che ho lottato con i due metodi. Grazie ancora. Steve – Steve