UITabbarController的UITabbarItem(
2017-04-21 本文已影响0人
_假装在上海
如果在点击
UITabbarItem
(例如:“我的”)时,判断用户是否已经登录了,如果还没有登录,跳转至登录页面;如果登录了,直接跳转至带有uitabbarItem
的页面。
如果在点击UITabbarItem
(例如:“我的”)时,判断用户是否已经登录了,如果还没有登录,跳转至登录页面;如果登录了,直接跳转至带有uitabbarItem
的页面。
在添加UITabbarItem
的继承自UITabbarController
的实现文件(.m文件)中,实现UITabbarControllerDelegate
中的方法:- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
具体实现,如下
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
{
//"我的"页面的tabbarItem的下标是2,
//_privateToken == nil 为判断是否登录的条件
if (viewController == tabBarController.viewControllers[2] && _privateToken == nil) {
LoginViewController *loginViewController = [LoginViewController new];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:loginViewController];
[((UINavigationController *)tabBarController.selectedViewController) presentViewController:nav animated:YES completion:nil];
return NO;
} else {
return YES;
}
}
在登录成功之后,实现如下方法,可实现跳回主界面
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
appDelegate.window.rootViewController = [MainViewController new];