2013-04-18 2 views
3

Я использую управление с помощью конструктора интерфейсов Container View для встраивания UINavigationController и его стек в мое приложение.Задняя кнопка встроенного UINavigationController не работает

Проблема, с которой я столкнулась, заключается в том, что кнопка возврата не работает на всех нажатых VC над Root VC.

Вы нажимаете автоматически сгенерированную кнопку возврата на этих нажатых VC, и ничего не происходит.

Edit:

Там нет кода, написанного. На данный момент все установлено в IB.

enter image description here

Как вы можете видеть ... Контейнер View с встроенным контроллером представления, установленный в контроллер UInavigation. Пробелы слева будут в конечном счете скользящим меню - это причина для настройки. Затем на корневой RV появляется следующая кнопка, которая переходит к второму контроллеру представления.

enter image description here

Это состояние показано выше. Нажатие кнопки «Назад» (с меткой «Тест») ничего не делает. Обычно он выводит контроллер верхнего уровня и возвращается к «тесту». Очевидно, что вложение каким-то образом мешает нормальной функции UINavigiationController.

Я просто не знаю как.

Другой Edit:

Создание пользовательской кнопки на этом верхнем View Controller и вручную вызова

[self.navigationController popViewControllerAnimated:true]; 

На самом деле работает и топ-контроллер удаляется из стека.

Итак, вопрос в том, почему кнопка «Назад» не работает?

+0

показать нам свой код. –

+0

Нет кода, его все IB. Я добавил скриншоты. – Vazzyb

+0

Я сделал ту же настройку, что и в вашем вопросе, и обратная кнопка работала нормально. Вы можете попробовать очистить свой проект, закрыть и снова открыть Xcode, или создать новый проект, и посмотреть, работает ли он. – rdelmar

ответ

9

У меня была аналогичная проблема, когда я забыл, что добавил признак распознавания жестов в мою панель навигации. Кнопка «назад» фактически получила касания (нажатие состояния), но как в вашем примере ничего не делала. Однако была создана пользовательская кнопка на навигационной панели. Как только я удалил распознаватель жестов, кнопка возврата снова работала.

Может быть какой-то другой вид/или жест распознаватель на ваш взгляд контейнера догоняет штрихи ...

+1

Спасибо за комментарий; вы абсолютно правы, удаление распознавателя жестов нажатия позволяет кнопке «Назад» работать. Единственная оставшаяся проблема заключается в том, что она возвращается только на панель навигации (т. Е. Загружает предыдущий элемент навигации) - однако, он не выталкивает верхний контроллер большинства просмотров! Снова ли вы вернулись к правильной работе, как только вы удалили распознавателя жестов? – Vazzyb

+0

Да ...на контроллере первого взгляда я добавил кран на navigationBar, а на следующем VC BackButton не работает. Thx для вашего ответа :) –

+0

Вы пробовали tapGesture.cancelsTouchesInView = false? –