2012-02-10 43 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的控制器可能很巧妙。在某些情況下,這可能是不同的。