以下是需要翻译的内容:
以下是情况说明。 我有一个使用UINavigationController进行导航的应用程序。
对于特殊的导航控制器推送,我想要自定义动画,即缩小动画。 到目前为止,我的效果看起来不错,唯一的问题是,“旧”的Viewcontroller在动画开始之前就消失了,因此新的viewcontroller从“无处”缩小,而不是在背景中查看旧的viewcontroller。
为了更好地查看,我创建了一个简单的示例应用程序:下载
是否有人知道如何使新的viewcontroller(image3)在动画时旧的viewcontroller(image1)保持在后台(image2)?
/* THIS CANNOT BE CHANGED */
AnimatedViewController *animatedViewController = [[AnimatedViewController alloc] initWithNibName:@"AnimatedViewController" bundle:nil];
/* THIS CAN BE CHANGED */
animatedViewController.view.transform = CGAffineTransformMakeScale(0.01, 0.01);
[UIView beginAnimations:@"animationExpand" context:NULL];
[UIView setAnimationDuration:0.6f];
animatedViewController.view.transform=CGAffineTransformMakeScale(1, 1);
[UIView setAnimationDelegate:self];
[UIView commitAnimations];
/* THIS CANNOT BE CHANGED */
[self.navigationController pushViewController:animatedViewController animated:NO];
附加信息:我的应用程序并不简单。我在我的应用程序中使用了Three20框架,但推送和创建视图控制器只是Three20的常规操作。我只能钩取代码中(THIS CAN BE CHANGED
)这部分的内容。我不能在此之前或之后修改代码(除非进行大量研究)。