Junior — Middle
Hogyan változnak a View méretei az animáció során, amikor a frame-je a animáció felében kétszeresére nő?
sobes.tech MI
Válasz az MI-től
Ha az animáció során a keret View mérete a felére nő a animáció felében, akkor a View méretei a következőképpen változnak:
- Az első felében az animációnak a View méretei fokozatosan növekednek az eredeti mérettől a dupláig.
- A második felében a méretek az új, megnövelt szinten maradnak (ha az animáció nem tartalmaz fordított változást).
Vagyis, ha az animáció teljes időtartama T, akkor T/2 alatt a keret kétszeres méretű lesz, majd a fennmaradó T/2 időben a méret állandó marad.
Ha az animáció folyamatos változásra van beállítva, a méretváltozás lineáris vagy a megadott görbe szerint (ease-in, ease-out) történik az első felében, majd stabilizálódik.
Swift példában UIView.animate:
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) {
// A méretek állandóak maradnak
}
})
}
Ezért a méret növekedése csak az animáció első felében történik.