我有一个视图,它在屏幕底部放置了一个小的弹出模式,以及一个全屏模式。在两者之间进行动画制作时,大小会在动画开始时立即改变。
例如,当从全屏模式更改为小模式时,我的视图的页脚从底部开始,在顶部附近快速捕捉,然后整个(现在缩小的)视图动画到它所属的位置。
相反,我希望我的页脚留在(大约)同一个地方。视图的底部应该只移动几个像素,顶部应该移动大部分。
我尝试过设置框架和中心/边界,但它们都具有相同的效果。我怎样才能顺利地制作动画?
下面,方法A和方法B都会产生相同的,丑陋的动画,无论方向如何(大 - >小/小 - >大)。
CGRect bounds = newFrame;
bounds.origin = CGPointZero;
CGPoint center = CGRectGetCenter(newFrame);
[UIView animateWithDuration:0.75
delay:0.0
usingSpringWithDamping:0.7
initialSpringVelocity:0.0
options:UIViewAnimationOptionCurveEaseIn | UIViewAnimationOptionAllowUserInteraction
animations:^{
// Method A
view.frame = newFrame;
// Method B
view.center = center;
view.bounds = bounds;
}
completion:completion];