Как изменить стиль перехода UINavigationController push?

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

Спасибо


person Kex    schedule 19.01.2015    source источник
comment
вы можете использовать это руководство, objc.io/issue- 12 / Я использовал это в своем приложении: appdesignvault.com/custom -transition-ios-7   -  person ErasmoOliveira    schedule 19.01.2015
comment
невозможно ли сделать переход, такой как зеркальное отображение по горизонтали, который можно выбрать в построителе интерфейса?   -  person Kex    schedule 19.01.2015


Ответы (3)


Я сделал следующее, и он отлично работает .. и прост и понятен ..

CATransition* transition = [CATransition animation];
transition.duration = 0.5;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionFade; //kCATransitionMoveIn; //, kCATransitionPush, kCATransitionReveal, kCATransitionFade
//transition.subtype = kCATransitionFromTop; //kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom
[self.navigationController.view.layer addAnimation:transition forKey:nil];
[[self navigationController] popViewControllerAnimated:NO];

То же самое и с толчком ..

не забудьте включить QuartCore (#import)

person Mahesh    schedule 19.01.2015
comment
где мне поместить этот код? работает ли он с построителем интерфейса, например, performSegue? - person Kex; 19.01.2015
comment
Я использовал это, он отлично работает. Есть ли способ изменить цвет фона с черного? Он как бы мигает черным при переходе. - person Kex; 19.01.2015
comment
это работает, только один недостаток - мерцание строки состояния / навигации. - person Boris Gafurov; 02.05.2016
comment
Это повторяющийся ответ: stackoverflow.com/questions/2215672/ - person Legatro; 26.02.2017

Да, вы можете изменить стиль перехода ViewController с другой анимацией. см. ссылку ниже.

  1. анимация в стиле перехода

  2. переход ViewController

  3. Пользовательский переход для ViewController

  4. ADTransitionController

  5. переход

  6. ViewController T

person Kirit Modi    schedule 19.01.2015

Вы можете создать класс NSObject и сделать его подклассом из UIStoryboardSegue, а затем переопределить функцию -(void)perform, чтобы дать ему свои собственные анимации. Здесь вы можете использовать любые заранее заданные или собственные анимации. Подробнее см. по этой ссылке..

person Karan Singla    schedule 19.01.2015