IOS Three20 анимация на спине

Я использую библиотеку three20 lib и подробно ttnavigator: у меня такой вопрос: с помощью этого кода я изменяю анимацию, чтобы перейти в новую навигацию:

TTURLAction* action;
action = [TTURLAction actionWithURLPath:@"tt://events"]; 
[action setAnimated:YES];
[action setTransition:UIViewAnimationTransitionFlipFromLeft];
[[TTNavigator navigator] openURLAction:action];

и анимация хороша, но когда в новом виде я нажимаю кнопку "назад", анимация - это стандартная прокрутка... возможно ли сохранить то же самое?

заранее спасибо

1 ответ

Решение

Если вы объявите URL-адрес в TTURLMap, Three20 сделает это автоматически, когда вы отклоните свой контроллер представления:

в вашем приложении делегат:

TTNavigator* navigator = [TTNavigator navigator];
navigator.persistenceMode = TTNavigatorPersistenceModeNone;
TTURLMap* map = navigator.URLMap;

[map from:@"tt://settings" toViewController:[SettingsController class] transition:UIViewAnimationTransitionFlipFromLeft];

[navigator openURLAction:[TTURLAction actionWithURLPath:@"tt://settings"]];

и в вашем контроллере настроек вы можете использовать пользовательскую кнопку, чтобы она не выглядела как кнопка возврата:

///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)viewDidLoad {
  [super viewDidLoad];


   TTButton* settingsButton = [TTButton 
                          buttonWithStyle:@"grayToolbarButton:" 
                          title:NSLocalizedString(@"DONE", @"")];
    [settingsButton sizeToFit];

     [settingsButton addTarget:self action:@selector(dismissSettings)
       forControlEvents:UIControlEventTouchUpInside]; 

 self.navigationItem.hidesBackButton = YES;
 self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] 
                                        initWithCustomView:settingsButton] autorelease];
}


 ///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)dismissSettings {
  [self.navigationController popViewControllerAnimated:YES];
}
Другие вопросы по тегам