我得到一个UIImageView
,它应该从顶部滑入视图,然后在它停止时应该制作一个反弹动画。
我正在对y.position变化进行动画处理,如下所示:
[UIView animateWithDuration:1.3
delay:0.0
options:UIViewAnimationOptionCurveEaseIn
animations:^{
[grassView setFrame:CGRectMake(grassView.frame.origin.x, 425, grassView.frame.size.width, grassView.frame.size.height)];
[headlineView setAlpha:1.0];
[self.loginButton setAlpha:1.0];
// [textView setAlpha:1.0];
[textView setFrame:CGRectMake(textView.frame.origin.x, -136, textView.frame.size.width, textView.frame.size.height)];
}
completion:^(BOOL finished) {
self.usernameField.placeholder = NSLocalizedString(@"username", nil);
self.passwordField.placeholder = NSLocalizedString(@"password", nil);
}];
不用担心将origin.y坐标设置为-136。我的图像视图位于屏幕外部-460处,因为它的高度为450。但是当将图像视图滑入屏幕时,我不想显示整个图像,这就是为什么它不动画到y.position> = 0的原因。但是这部分工作正常。我的imageview显示在我想要的正确位置。现在,我需要有关位置更改时如何让imageview弹起的建议。我已经尝试过一些
CABasicAnimation
,但看起来并不像我想要的那样。同样,当我调用方法让imageview在UIViewAnimation的完成块中弹跳时,弹跳效果开始延迟。有人对我有提示或想法,如何在设置框架后使imageview反弹?
最佳答案
从iOS7开始,您可以使用
[UIView animateWithDuration:<#(NSTimeInterval)#> delay:<#(NSTimeInterval)#> usingSpringWithDamping:<#(CGFloat)#> initialSpringVelocity:<#(CGFloat)#> options:<#(UIViewAnimationOptions)#> animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#> ]
只需试一下阻尼值和初始速度即可。