Junior — Middle
Анимация учурунда Viewдин өлчөмдөрү кандай өзгөрөт, анын frameи анимациянын жарымында эки эсе көбөйгөндө?
sobes.tech AI
AIден жооп
Эгер анимация учурунда, рамка View эки эсеге көбөйсө, анимациянын жарымында, Viewдун өлчөмдөрү төмөндөгүчө өзгөрөт:
- Биринчи жарымында, Viewдун өлчөмдөрү акырындык менен баштапкы өлчөмдөн эки эсеге чейин өсөт.
- Экинчи жарымында, өлчөмдөр жаңы көбөйтүлгөн деңгээлде калат (эгер анимация тескерисинче өзгөрүүнү карабаган болсо).
Демек, эгер жалпы анимациянын узактыгы T болсо, анда T/2 убакытта рамка эки эсеге көбөйөт, жана калган T/2 убакытта өлчөмдөр туруктуу болот.
Эгер анимация үзгүлтүксүз өзгөрүүгө орнотулса, өлчөмдүн өзгөрүшү түз сызыктуу же белгиленген curve (ease-in, ease-out) боюнча болот жана андан кийин турукташат.
Swift менен 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) {
// Өлчөмдөр туруктуу калат
}
})
}
Ошентип, өлчөмдүн көбөйүшү гана биринчи жарымында болот.