/ / Better NavigationController transizione in Three20 usando TTURLAction - iphone, goal-c, ios, xcode, three20

Migliore transizione NavigationController in Three20 utilizzando TTURLAction - iphone, objective-c, ios, xcode, three20

Sto usando i seguenti codici per cambiare controller nella mia app 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];

Ma la transizione è strana e mai fluida come la transizione predefinita di Three20, ad es. Passa da TTTableViewController a TTViewController

  1. Qualcuno può fornire un codice migliore per una transizione più fluida?

  2. È possibile trasferire solo il contenuto tra NavigationController e TabBar? (Voglio dire, non toccare il pulsante nel NavigationController esistente)

Grazie.

risposte:

0 per risposta № 1

Stai infatti animando due volte. Per prima cosa dici a three20 di applicare l'animazione [urlAction applyAnimated:YES]; e quindi stai allegando la tua animazione.

Rimuovi applyAnimated: e funziona perfettamente. Testato con Three20 1.0.11 su iOS5 Simulator e dispositivo.

Potrebbe essere intelligente da usare [TTNavigator navigator].topController invece di self.navigationController per ottenere il controller che presenterà l'URL. Questo potrebbe essere diverso in alcune circostanze.