iOS как убрать кнопку назад? - PullRequest
47 голосов
/ 29 февраля 2012

У меня есть приложение с панелью навигации, которая выдвигает на контроллер представления экрана входа в систему, а затем выдвигает в главное меню.Можно ли как-нибудь удалить кнопку «Назад» из главного меню, чтобы пользователь не мог вернуться к экрану входа?

Спасибо!

РЕДАКТИРОВАТЬ: Использование Xcode 4.3 и выполнение всей ноги программно.

Ответы [ 6 ]

117 голосов
/ 29 февраля 2012

Вы можете сделать:

[self.navigationItem setHidesBackButton:YES];

Во втором контроллере вида (тот, в котором вы хотите скрыть кнопку).

9 голосов
/ 29 февраля 2012

Петерс ответ правильный, хотя я думаю, что лучший вопрос, почему?В такой схеме, как ваша, где вы хотите войти в систему пользователя, вместо использования Pched VC, представьте модальный VC и используйте метод делегата для возврата информации о пользователе, полученной в процессе входа в систему.Я могу опубликовать полный пример кода, если вам это нужно, но похоже, что у вас есть детали, проработанные в процессе входа в систему.Просто используйте:

presentModalViewController

вместо:

pushViewController

Таким образом, вам не нужно беспокоиться о стеке навигации и делать то, что на самом деле не соответствуетруководство по пользовательскому интерфейсу.

5 голосов
/ 03 февраля 2013

Приведенный выше код не работает для меня.Как предложено в UINavigationItem setHidesBackButton: ДА не помешает вернуться , мне пришлось использовать:

[self.navigationItem setLeftBarButtonItem:[[UIBarButtonItem alloc] initWithCustomView:[[UIView alloc] init]]];
4 голосов
/ 30 октября 2015

В быстром

self.navigationItem.hidesBackButton = true
1 голос
/ 22 сентября 2016

Пробовал в Xcode7.3.1, swift

self.navigationItem.setHidesBackButton(true, animated: true)

Он только скрыл стрелку назад и отключил действие возврата, но я все еще могу видеть имя предыдущего контроллера представления.

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

self.navigationItem.leftBarButtonItem = UIBarButtonItem(customView: UIView())
1 голос
/ 03 декабря 2013

Попробуйте это:

[self.navigationItem setHidesBackButton:YES];

Или

[self.navigationItem setHidesBackButton:YES animated:YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...