2013-08-12 3 views
0

Я пытаюсь получить направление навигационного контроллера kCATransitionFromTop с CATransition, и оно настроено для этого, но по какой-то причине оно по-прежнему идет справа налево. Участок затухания отлично работает. Есть ли что-то, что я делаю неправильно, чтобы это не сработало? Нужно ли добавлять код в другой контроллер? БлагодаряНавигационный контроллер Пользовательское направление без изменения

- (void)bottomButtonScreen4:(UIGestureRecognizer *)gestureRecognizer { 

     settingsViewController = [[SettingsViewController alloc] init]; 

     CATransition* transition = [CATransition animation]; 
     transition.duration = 0.5; 
     transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
     transition.type = kCATransitionFromTop; 
     [self.navigationController.view.layer addAnimation:transition forKey:nil]; 
     [self.navigationController pushViewController:settingsViewController animated:YES]; 
    } 

ответ

0

Тип должен быть толчок, и подтип kCATransitionFromBottom (который на самом деле делает его прийти сверху):

CATransition* transition = [CATransition animation]; 
    transition.duration = 0.5; 
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
    transition.type = kCATransitionPush; 
    transition.subtype = kCATransitionFromBottom; 
    [self.navigationController.view.layer addAnimation:transition forKey:nil]; 
    [self.navigationController pushViewController:settingsViewController animated:NO]; 
+0

Привет! Это работает, но оно все еще переходит как налево, так и снизу вверх. Любая причина, по которой происходит оба перехода? –

+0

@GrantWilkinson, вы настроили анимированный NO? Когда я попробовал, он спустился с вершины. У вас нет segue, подключенного к распознавателю жестов? – rdelmar

+0

Вы правы, спасибо! У меня не было набора анимированных нет. Прекрасно работает. Еще раз спасибо –