0

У меня есть следующие VCs:Отключить назад навигацию для одного ViewController

Interface Builder

ВК в центре находится «Вход» экран, он просто перенаправляет пользователя на контроллер бар вкладки, если пользователь авторизован.

Я хочу отключить возврат к входному VC из любого VC в TabBarController (с кнопкой «назад» и проведите по экрану).

Как достичь этого?

ответ

1

На самом деле лучшая практика для этого случая, чтобы представить вид Логин контроллера модально и отклонить его, когда пользователь вошел в систему.

MainViewController.m

viewWillAppear{ 
    [super viewWillAppear]; 
    if (!loggedIn){ 
     //present login view controller 
    } 
} 

-(void)userDidLoggedIn{//delegate called after user successfully logged in 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

И если вы хотите сохраняет это поведение, то использовать этот

Objective-C:

self.navigationItem.hidesBackButton = YES; 

Swift:

self.navigationItem.hidesBackButton = true 
0
self.navigationItem.hidesBackButton = YES; 
+0

Но это не отключит красть? – arts777

+0

поиск «Как отключить жест обратно в UINavigationController на iOS 7» вы найдете множество решений. –

1

для отключения как кнопки назад и проведите обратно особенность добавить эти строки в ваш метод viewDidLoad:

self.navigationItem.leftBarButtonItem = nil; 
self.navigationItem.hidesBackButton = true; 
self.navigationController?.navigationItem.backBarButtonItem?.isEnabled = false; 
self.navigationController!.interactivePopGestureRecognizer!.isEnabled = false;