我希望让我的主视图缩小以显示下一个视图,就像按下左上角按钮时Facebook应用程序的视图缩小一样。我已经使用过这样的动画之一:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.navigationController.view cache:NO];
[self.navigationController popToRootViewControllerAnimated:YES];
[UIView commitAnimations];
然而,由于“Shrink”不是其中一个动画,我有点卡住了。我怎么能这样缩小呢?
我对iPhone SDK非常有经验,但没有花很多时间使用UIView动画。
答案 0 :(得分:2)
答案 1 :(得分:1)
我使用了Adam的(感谢Adam)教程并从中创建了一个库。看看这个:https://github.com/goof/ios-animations。看看它是否有任何帮助!
答案 2 :(得分:0)
您是否尝试过组合缩放和转换转换?
答案 3 :(得分:0)
UIView的setAnimationTransition:方法使得打包的动画集很简单,但如果你想做其他事情,你必须下拉一个级别并使用Core Animation本身。
这不是太糟糕:基本上你使用CATransaction的begin
和commit
方法,在它们之间,获取视图的图层并直接设置其转换属性。要缩小它,您可以将比例设置为0.00001,使其缩小。
您不必立即删除视图,而是必须设置完成块并在动画完成后自行删除它。如果您打算再次使用该视图,则可能需要将转换重置为正常。