Používam nasledujúce kódy na prepnutie ovládača v mojej aplikácii 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];
Prechod je však zvláštny a nikdy taký plynulý ako predvolený prechod Tri20, napr. Prejdite z ovládača TTTableViewController na TTViewController
Každý môže poskytnúť lepšie kódy pre plynulejší prechod?
Je možné prenášať iba obsah medzi NavigationController a TabBar? (Myslím tým, že tlačidlo ponecháte v existujúcom Navigačnom ovládači nedotknuté)
Vďaka.
odpovede:
0 pre odpoveď č. 1V skutočnosti animujete dvakrát. Najprv povedzte tri20, aby použil animáciu [urlAction applyAnimated:YES];
a potom pripájate svoju vlastnú animáciu.
Odstrániť applyAnimated: a funguje to dobre. Testované s programom Three20 1.0.11 na simulátore iOS5 a zariadení.
Môže byť chytré používať [TTNavigator navigator].topController
namiesto self.navigationController
získať ovládač, ktorý bude prezentovať webovú adresu. Za určitých okolností to môže byť iné.