我正在尝试使用滑动手势(向上)和小动画在4 V.C之间切换,我正在使用xib:
-(IBAction)gotonext:(UISwipeGestureRecognizer *)recognizer{
ibasar *ibas =[[ibasar alloc]initWithNibName:@"ibasar" bundle:nil];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
[self.view addSubview:ibas.view];
[UIView commitAnimations];
}
问题是,当我从第一个V.C切换到第二个完成时,但当我从第二个切换到第三个时,应用程序停止了!尽管使用相同的代码进行切换! 任何帮助请...提前谢谢
答案 0 :(得分:0)
首先,如果要进行动画制作,请使用块动画。不是旧的动画方法。
其次,您只是在彼此之上添加子视图。这可能是内存的重点。在动画结束时删除并丢弃旧视图,或者更好的是,使用UINavigation视图控制器来处理所有这些。
答案 1 :(得分:0)
您可以创建CATransition
动画。下面是一个示例,说明如何在推出当前视图的同时将第二个视图(从左侧)滑动到屏幕中:
UIView *theParentView = [self.view superview];
CATransition *animation = [CATransition animation];
[animation setDuration:0.3];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromLeft];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[theParentView addSubview:yourSecondViewController.view];
[self.view removeFromSuperview];
[[theParentView layer] addAnimation:animation forKey:@"MainView"];