2014-10-08 4 views
0

Можно ли временно отключить кнопку навигации NavigationBar?ios Отключить навигационную кнопку назад

Я манипулируют свойство NavigationController.ViewControllers и правильное место, чтобы сделать это в ViewDidAppear(). С другой стороны, ViewDidAppear() называется довольно поздним, поскольку экран анимирован. Таким образом, пользователь нажимает кнопку «Назад» до . ViewDidAppear() вызывается и вызывает хаос в синхронизации между стеком контроллера представления и стеком, связанным с кнопкой «Назад». Если пользователь ждет бит, и вызывается ViewDidAppear(), все работает нормально. Поэтому мне нужно временно отключить BackButton.

Спасибо, [email protected]

+1

Используйте это: '[self performSelector: @selector (waitForNavigation) withObject: nil afterDelay: 0.3];' – Kampai

ответ

0

Использование задержки, как предложено в комментариях будет работать, но это не обязательно хорошая вещь, чтобы сделать. Вы не должны создавать искусственные задержки в коде. Различные устройства будут выполнять ваш метод viewDidAppear с разной скоростью, и вам придется установить задержку, чтобы дождаться самого медленного устройства, искусственно уменьшив отзывчивость для людей на более быстрых устройствах. Если бы вы могли объяснить, что вы делаете, возможно, есть более подходящее решение.

+0

И зачем вам нужно модифицировать свойство '' 'viewControllers''' '' UINavigationController''' –

+0

У меня есть три экрана: s1, s2, s3. Я хочу перейти s1-> s2-> s3, но s3-> s1. В iOS7 я использовал PopToViewController, в iOS8, когда выполняется PopToViewController, я вижу s1 в течение секунды, прежде чем перейти к s3. – user1523271

+0

Вы пробовали '' 'popToRootViewController:' ''? Также, если вы не хотите видеть s2 при возврате в s1, вы можете отключить анимацию или написать свой собственный переход. Непосредственное изменение массива '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' Вы можете найти этот вопрос в пользовательских переходах полезным: http://stackoverflow.com/questions/22774495/adding-custom-animation-to-poptorootviewcontroller –

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