轻弹一个视图

时间:2014-05-20 18:37:58

标签: ios objective-c

我认为我希望能够轻弹"离开(如应用Jelly,Potluck和Weotta中所见)。我把视图连接到平移手势识别器。问题是它没有"轻弹"离开(即如果我从屏幕底部轻弹它应该离开屏幕的顶部,而不必将它一直拖到屏幕的顶部)。我假设这将以某种方式使用UIKitDynamics完成,但我不确定如何实现它。有任何想法吗?感谢。

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。最简单的可能只是为这个视图设置动画:

[UIView beginAnimations:@"flick" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelegate:self];

yourView.frame = CGRectMake(yourView.frame.origin.x, -yourView.frame.size.height, yourView.frame.size.width, yourView.frame.size.height);

[UIView commitAnimations];

这只是为您设置动画上下文,然后您将视图的原点更改为屏幕顶部上方的某个位置。 Apple完成剩下的工作了。您可以尝试不同的动画曲线和持续时间,以查看最佳效果。查看Apple's docs可以为动画曲线提供的值。