我正在iOS
开发电子商务移动应用程序。我需要知道如何使用幻灯片动画从上到下从UIViewController
移动到另一个UIViewController
。
我正在使用Storyboard。
应用程序需要在ios6和ios7中运行。
以下是我用于转发UIViewController
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
MenuViewController *viewController =
(MenuViewController *)
[storyboard instantiateViewControllerWithIdentifier:@"menupage"];
[self.navigationController pushViewController:viewController animated:NO];
下面是我为翻页效果尝试的代码,它工作正常。从上到下滑动我需要和下面相同的东西
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp
forView:self.navigationController.view cache:NO];
[self.navigationController pushViewController:viewController animated:YES];
[UIView commitAnimations];
另一种方法
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
MenuViewController *viewController = (MenuViewController *)[storyboard instantiateViewControllerWithIdentifier:@"menupage"];
MenuViewController *viewController1 = (MenuViewController *)[storyboard instantiateViewControllerWithIdentifier:@"menupage"];
[self.view addSubview:viewController.view];
viewController.view.frame=CGRectMake(0,480,320,480);
[UIView animateWithDuration:1
animations:^{
viewController.view.frame=CGRectMake(0,0,320,480);
}
completion:^(BOOL fin){
if (fin)
{
[self.navigationController pushViewController:viewController animated:NO];
[self.navigationController pushViewController:viewController1 animated:NO];
}
}];
这里我以成功的方式获得动画。但是我需要加载两次相同的视图控制器。一个用于动画,另一个用于正常的ViewController Load.If我没有加载第二个方法我在nextviewController按钮操作中遇到了一些问题。 提前致谢 Sam.P
答案 0 :(得分:1)
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp
forView:self.navigationController.view cache:NO];
而不是使用UIViewAnimationTransitionCurlUp使用UIViewAnimationCoverVertical
或者根本没有任何视图动画,只需更改一行。
[self.navigationController presentViewController:viewController animated:YES completion:NULL];
答案 1 :(得分:0)
FYI @MaheThiru推送只能让你来回转换,推送你需要导航控制器。其他过渡如coververtical,pagecurl,crossdissolve和fliphorizontal由模态转换(没有导航控制器)提供,我们写作
[self presentViewController:viewController animated:YES completion:NULL];
我在这里写了一个小小的疑问
animated:NO
将其更改为
animated:YES
也许它会解决问题。尝试一次。
快乐编码