У меня есть настройка UINavigationController в моей раскадровке, и я создал собственный класс segue, который вы можете видеть ниже, который красиво исчезает между моими представлениями (а не стандартным толчком болота).
Однако, когда я нажимаю эту кнопку возврата, которую дал мне мой навигационный контроллер, я получаю анимацию нажатия, которая мне не нужна, я хочу использовать это затухание! Я также не хочу, чтобы переходы в моей раскадровке шли в обе стороны, потому что это только становится беспорядочным.
Пользовательский переход затухания:
-(void)perform
{
__block UIViewController *sourceViewController = (UIViewController*)[self sourceViewController];
__block UIViewController *destinationController = (UIViewController*)[self destinationViewController];
[UIView transitionWithView:sourceViewController.navigationController.view duration:1.0 options:UIViewAnimationOptionTransitionCrossDissolve
animations:^
{
[sourceViewController.navigationController pushViewController:destinationController animated:NO];
}
completion:^(BOOL finished)
{
NSLog(@"Transition Completed");
}];
}
Редактировать
Возможно, мне следует упростить. Как я могу сделать переход между двумя контроллерами представления в UINavigationController, который выталкивает и выталкивает представления вместо стандартной лево-правой анимации сайдинга?