Junior — Middle
Kuidas muutuvad View suurused animatsiooni ajal, kui selle frame kahekordistub poole animatsiooni perioodist?
sobes.tech AI
Vastus AI-lt
Kui animatsiooni ajal kahekordistub View raami suurus animatsiooni poolel ajal, siis View suurused muutuvad järgmiselt:
- Esimese poole jooksul suurenevad View suurused sujuvalt algsuurusest kahekordseks.
- Teise poole jooksul jäävad suurused uuele suurendatud tasemele (kui animatsioon ei eelda vastupidist muutust).
See tähendab, et kui kogu animatsiooni kestus on T, siis T/2 jooksul suureneb raam kahekordseks, ja ülejäänud T/2 jooksul jääb suurus konstantseks.
Kui animatsioon on seadistatud pidevaks muutuseks, siis suuruse muutus toimub lineaarse või määratud kõvera (ease-in, ease-out) järgi esimese poole jooksul ning seejärel stabiliseerub.
Näide Swiftis UIView.animate kasutades:
UIView.animate(withDuration: totalDuration) {
UIView.animateKeyframes(withDuration: totalDuration, delay: 0, options: [], animations: {
UIView.addKeyframe(withRelativeStartTime: 0, relativeDuration: 0.5) {
view.frame.size = CGSize(width: view.frame.width * 2, height: view.frame.height * 2)
}
UIView.addKeyframe(withRelativeStartTime: 0.5, relativeDuration: 0.5) {
// Mõõtmed jäävad konstantseks
}
})
}
Seega, suuruse suurenemine toimub ainult esimese poole jooksul animatsioonist.