Лучший переход NavigationController в Three20 с использованием TTURLAction - PullRequest
0 голосов
/ 10 февраля 2012

Я использую следующие коды для переключения контроллера в приложении 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

  1. Кто-нибудь может предоставить лучшие коды для более плавного перехода?

  2. Возможно ли передавать только контент между NavigationController и TabBar?(Я имею в виду, что кнопка в существующем NavigationController остается неизменной)

Спасибо.

1 Ответ

0 голосов
/ 10 февраля 2012

Вы на самом деле оживляете дважды.Сначала вы говорите Three20 применить анимацию с помощью [urlAction applyAnimated:YES];, а затем присоединяете свою собственную анимацию.

Удалите applyAnimated: и все работает отлично.Протестировано с Three20 1.0.11 на iOS5 Simulator и устройстве.

Может быть разумно использовать [TTNavigator navigator].topController вместо self.navigationController для получения контроллера, который будет отображать URL.Это может быть другой при некоторых обстоятельствах.

...