【发布时间】:2016-10-30 10:16:33
【问题描述】:
我有以下 VC:
中心的VC是“登录”屏幕,如果用户被授权,它只是将用户重定向到标签栏控制器。
我想禁止从 TabBarController 中的任何 VC 返回 Login VC(使用“返回”按钮和滑动)。
如何做到这一点?
【问题讨论】:
标签: ios xcode uinavigationcontroller uitabbarcontroller segue
我有以下 VC:
中心的VC是“登录”屏幕,如果用户被授权,它只是将用户重定向到标签栏控制器。
我想禁止从 TabBarController 中的任何 VC 返回 Login VC(使用“返回”按钮和滑动)。
如何做到这一点?
【问题讨论】:
标签: ios xcode uinavigationcontroller uitabbarcontroller segue
要禁用后退按钮和向后滑动功能,请将此行添加到您的 viewDidLoad 方法中:
self.navigationItem.leftBarButtonItem = nil;
self.navigationItem.hidesBackButton = true;
self.navigationController?.navigationItem.backBarButtonItem?.isEnabled = false;
self.navigationController!.interactivePopGestureRecognizer!.isEnabled = false;
【讨论】:
实际上这种情况的最佳实践是在用户登录时以模态方式呈现登录视图控制器并关闭它。
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];
}
如果你想保持这种行为,那么就使用这个
目标-C:
self.navigationItem.hidesBackButton = YES;
斯威夫特:
self.navigationItem.hidesBackButton = true
【讨论】:
self.navigationItem.hidesBackButton = YES;
【讨论】: