Как отключить backBarButtonItem, отображаемый в текущем представлении? - PullRequest
1 голос
/ 22 февраля 2012

После того, как представление было помещено в стек UINavigationController и отображается, мне нужно отключить кнопку Назад при определенных обстоятельствах, например, когда данные редактируются на этом экране.

Следующее скрывает кнопку Назад

self.navigationItem.hidesBackButton=YES;

но мне нужно отключить его.

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

Ответы [ 3 ]

0 голосов
/ 22 февраля 2012

Вы можете реализовать один leftBarButtonItem (невидимый и без эффекта), добавить его в текущий вид (self.navigationItem.leftBarButtonItem) и удалить его для доступа к backButton.

0 голосов
/ 21 февраля 2014

Если вам хорошо, что вся панель навигации отключена, простое решение -

self.navigationController.navigationBar.userInteractionEnabled = NO;

Конечно, это не сработает, если у вас есть другие кнопки панели, которые вы хотите оставить включенными.

0 голосов
/ 22 февраля 2012

Вы можете реализовать один из методов делегата для делегата панели навигации вашего навигационного контроллера.Взгляните на метод [UINavigationBarDelegate navigationBar:shouldPopItem:].

Возврат ДА или НЕТ из этого метода включит или отключит кнопку возврата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...