Is het mogelijk om de huidige parameters van de positie van de animatie te verkrijgen tijdens de afspelen?
sobes.tech AI
Antwoord van AI
Op iOS, wanneer het gaat om animaties met behulp van Core Animation (bijvoorbeeld CABasicAnimation of CAKeyframeAnimation), is het niet mogelijk om de huidige parameters van de animatie direct te verkrijgen tijdens de uitvoering, omdat animaties op grafische laagniveau worden uitgevoerd en de eigenschappen van het object niet rechtstreeks worden bijgewerkt.
Echter, je kunt de huidige toestand van de geanimeerde laag verkrijgen door de methode presentation() van de CALayer te gebruiken. Deze methode geeft een laag terug met de huidige visuele waarden van de eigenschappen, die de toestand van de animatie op dat moment weerspiegelt.
Voorbeeld:
if let presentationLayer = view.layer.presentation() {
let currentPosition = presentationLayer.position
// currentPosition — de huidige positie van de laag tijdens de animatie
}
Dus, om de huidige animatieparameters te verkrijgen, moet je de presentatie-laag benaderen in plaats van de hoofdlaag of de animatie direct.