2012-02-10 44 views
0

我使用下面的代码在我的Three20应用更好NavigationController过渡使用TTURLAction

TTURLAction * urlAction = [TTURLAction actionWithURLPath:url]; 
[urlAction applyAnimated:YES]; 

CATransition * transition = [CATransition animation]; 
transition.duration = 0.4f; 
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
transition.type = kCATransitionReveal; 
transition.subtype = kCATransitionFromRight; 
[self.navigationController.view.layer addAnimation:transition forKey:nil]; 
[[TTNavigator navigator] openURLAction:urlAction]; 

开关控制器但是这种转变很奇怪,从来没有一帆风顺的默认Three20过渡,例如从TTTableViewController移动到TTViewController

  1. 任何人都可以提供更好的代码来实现更平滑的过渡吗?

  2. 是否有可能只通过NavigationController和TabBar之间的内容? (我的意思是保持现有NavigationController中的按钮未触及)

谢谢。

回答

0

你实际上是两次动画。首先你告诉three20应用[urlAction applyAnimated:YES];动画,然后你附上你自己的动画。

删除applyAnimated:它工作得很好。在iOS5模拟器和设备上使用Three20 1.0.11进行测试。

使用​​而不是self.navigationController来获取将显示url的控制器可能很巧妙。在某些情况下,这可能是不同的。