我正在开发一个iPhone应用程序,我需要在动画中慢慢向上移动第一个视图控制器并移动到第二个视图控制器。我正在考虑使用CoreAnimation缓慢向上移动第一个视图控制器并推送到下一个视图控制器。有人可以帮助提供实现此目的的类/ apis吗?
谢谢!
答案 0 :(得分:0)
试试这个,
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:yourfirstview cache:YES];
[UIView setAnimationDidStopSelector:@selector(remove_view)];
//change frame here
yourfirstview.frame =CGRectMake(0,-480,320,480);
[UIView commitAnimations];
-(void)remove_view
{
[yourfirstview removeFromSuperview];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:yoursecondview cache:YES];
//change frame here
yoursecondview.frame =CGRectMake(0,0,320,480);
[UIView commitAnimations];
}
答案 1 :(得分:0)
您可以使用多个UIView
s
根据Apple的文档:
在iOS 4及更高版本中,使用基于块的动画方法。
因此,为了产生预期的结果,请使用以下代码。
UIView *mySecondView = [[UIView alloc] initWithFrame:CGRectMake(0, 480, 320, 480)];
[mySecondView setBackgroundColor:[UIColor redColor]];
[self.view addSubview:mySecondView];
[UIView animateWithDuration:2.0 delay:3.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
[mySecondView setTransform:CGAffineTransformMakeTranslation(0, -480)];
}completion:^(BOOL done){
}];