2016-03-15 3 views
0

Толкаемый контроллер перекрещивается с контроллером тока.iOS UINavigationController push/pop cross Горизонтальная обложка анимации

Результаты таковы: enter image description here изображение 0

На самом деле, у меня есть крюк в это приложение, то использовать подкласс под названием MMUINavigationController, и я уверен, что действие тока «pushViewController: анимированные:», это интерфейс, который я подключил.

Tweak.xm: enter image description here изображение 1

alertView: enter image description here изображение 2

как сделать его

дополнительный, Standar анимации:

enter image description here

изображение 3

навигационной панели толкаемом контроллера

5

изображение 4

+0

Что ваш вопрос? – DAN

+0

@DAN, как это сделать? – ccnyou

+0

Это выглядит как стандартная анимация push IOS – DAN

ответ

1

Вот одно решение:

  1. скрыть навигационную панель навигации контроллера
  2. надстройкой панель навигации к контроллеру корневого представления контроллер навигации
  3. восстановить салфетки, чтобы поддержать жест в контроллер навигации

Для последней точки вы можете добавить панорамирование жеста распознавателя (рекомендуется) или просто установить делегат в interactivePopGestureRecognizer в контроллере навигации к нулю:

self.navigationController?.interactivePopGestureRecognizer?.delegate = nil; 

но, пожалуйста, обратитесь к этой дискуссии для его последствия: No Swipe Back when hiding Navigation Bar in UINavigationController

EDIT:

Рабочее решение, которое удовлетворяет следующим требованиям: только установка navigationBarHidden в viewWillAppear делает магию.

Я настроить образец демо здесь: https://github.com/ldantona/NavigationBarExample

EDIT 2:

Просто найти эту библиотеку, это может быть какой-либо помощи? https://github.com/MoZhouqi/KMNavigationBarTransition

Библиотека может захватить стиль фона панели навигации в контроллер представления исчезающего при нажатии, и когда вы выскочить обратно к контроллеру вида, панель навигации будет восстановить предыдущий стиль, так вам не нужно учитывать стиль фона после popping. И вам также не нужно учитывать это после нажатия, потому что - это контроллер просмотра, который нужно нажать, который необходимо учитывать.

Надеюсь, что это помогает

+0

На рисунке 3 левый контроллер имеет одну навигационную панель с нажатым контроллером. Может ли это решить? – ccnyou

+0

Нет, насколько я знаю, с этим решением вам нужно вручную добавить панель навигации к каждому контроллеру представления – DAN

+0

такая грустная история – ccnyou

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