我得到了一个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);
}];不要担心将原始坐标设置为-136。我的图像视图位于屏幕外的-460,因为它的高度是450。但是,当将图像视图滑动到屏幕上时,我不想显示整个图像,这就是为什么它没有动画到y.position >= 0。但这部分运作得很好。我的图像显示在正确的位置,我希望它在那里。现在,我需要建议如何让图像视图反弹时,位置被改变。我已经尝试了一些CABasicAnimation,但它看上去并不像我想要的那样。另外,当我调用该方法让图像视图在我的UIViewAnimation的完成块中反弹时,弹出效果开始延迟。
有人对我有什么提示或想法吗?在设置帧后,如何获得图像视图的反弹?
发布于 2014-07-02 16:32:48
因为iOS7可以使用
[UIView animateWithDuration:<#(NSTimeInterval)#> delay:<#(NSTimeInterval)#> usingSpringWithDamping:<#(CGFloat)#> initialSpringVelocity:<#(CGFloat)#> options:<#(UIViewAnimationOptions)#> animations:<#^(void)animations#> completion:<#^(BOOL finished)completion#> ]只需绕着阻尼值和初始速度就行了。
https://stackoverflow.com/questions/24536295
复制相似问题