在Three20中使用TTURLAction更好地导航控制器转换
我正在使用下面的代码来切换我的Three20应用程序中的控制器
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
-
任何人都可以提供更好的代码来实现更平滑的过渡?
-
是否有可能只通过NavigationController和TabBar之间的内容? (我的意思是保持button在现有的NavigationController未触及)
谢谢。
你实际上是animation两次。 首先通过[urlAction applyAnimated:YES];
告诉three20应用animation[urlAction applyAnimated:YES];
然后你附上你自己的animation。
删除applyAnimated:它工作得很好。 在iOS5模拟器和设备上使用Three20 1.0.11进行testing。
使用[TTNavigator navigator].topController
而不是self.navigationController
来获取将显示url的控制器可能是聪明的。 在某些情况下,这可能是不同的。