2015-07-13 1 views
1

Я делаю пользовательскую анимацию поп-перехода UINavigationController. Но, имея странную ошибку, я сделал образец проекта, чтобы продемонстрировать проблему (взято с https://github.com/objcio/issue5-view-controller-transitions)Странное поведение UINavigationItem после использования пользовательских навигационных анимаций перехода

Приложение на основе навигации, 2 контроллера вида.

Первый элемент управления viewController имеет 2 элемента кнопки на панели навигации, кнопка посередине, чтобы нажать на второй viewController.

Второй элемент viewController имеет элемент кнопки левой панели, который открывается в первый viewController.

Если второй контроллер просмотра перетащил менее 50%, моя пользовательская анимация отменяет переход, а если он превышает 50%, он завершит переход, вытащите viewController. (Так же, как и в системе по умолчанию)

Однако, если переход был отменен, элемент навигации на первом контроллере просмотра будет перевернут.

Элемент «назад» появится на контроллере первого вида, а элемент правой кнопки панели исчезнет.

Это видео, чтобы продемонстрировать: https://youtu.be/qg2lUKsNtzk

И исходный код на GitHub: https://github.com/JohnnyTseng/issue5-view-controller-transitions

Может кто-нибудь указать, где проблема? Я отлаживал эту проблему целый день. Благодаря!

ответ

0

В iOS 7 Apple добавляет новое поведение навигации по умолчанию. Вы можете переместиться с левой границы экрана, чтобы вернуться в стек навигации.

вы можете остановить это, поместив этот код в делегат приложения.

if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) { 
     self.navigationController.interactivePopGestureRecognizer.enabled = NO; 
    } 

вы можете прочитать здесь interactive pop gesture of navigation view controller

Смежные вопросы