Junior — Middle
Vai ir iespējams iegūt pašreizējos animācijas pozīcijas parametrus tās atskaņošanas laikā?
sobes.tech AI
Atbilde no AI
iOS gadījumā, runājot par animācijām, izmantojot Core Animation (piemēram, CABasicAnimation vai CAKeyframeAnimation), tieši nevar iegūt pašreizējos animācijas parametrus tās atskaņošanas laikā, jo animācijas tiek veiktas grafiskā slāņa līmenī un tieši neatjauno objekta īpašības.
Tomēr, var iegūt animētā slāņa pašreizējo stāvokli, izmantojot CALayer presentation() metodi. Šī metode atgriež slāni ar pašreizējām vizuālajām īpašību vērtībām, kas atspoguļo animācijas stāvokli šajā brīdī.
Piemērs:
if let presentationLayer = view.layer.presentation() {
let currentPosition = presentationLayer.position
// currentPosition — pašreizējā slāņa pozīcija animācijas laikā
}
Tādēļ, lai iegūtu pašreizējos animācijas parametrus, ir jāpieiet presentation slānim, nevis tieši galvenajam slānim vai animācijai.